FishEye Params Camera Corrector

4 vues (au cours des 30 derniers jours)
Pedrp Perez Serrano
Pedrp Perez Serrano le 7 Nov 2022
Hi, I'm using Camera Calibration, specifically the fisheye option. Intrinsic and extrinsic parameters are generated. Which of them should I use to perform the correction of an image? In addition, within these, different ones are generated, which ones in particular should I use to create a script to apply it to other images?
  2 commentaires
Isaac Rose
Isaac Rose le 9 Nov 2022
The intrinsic parameters should be used for undistorting images, as shown in the example here:
As for your second question, can you please clarify what you mean by “different ones are generated”? Are you referring to different intrinsic and extrinsic parameter matrices that are given by separate calibrations, or the different parameters held within the matrix?
It would also be helpful if you can describe what you are trying to achieve overall – are you simply trying to undistort a set of images? Are you using a checkerboard of known dimensions for calibrating a single camera?
Pedrp Perez Serrano
Pedrp Perez Serrano le 10 Nov 2022
Good, I mean the different parameters that originate within the intrinsic parameters section. Regarding my work, I am creating a script that can be applied to any type of photography taken from this camera.
I use the camera corrector app to generate the parameters (I don't know which ones to use specifically) and then apply them to a photograph that does not contain a chessboard but taken from the same position as the ones I used to generate the parameters. In summary, I generate a code to apply it to photographs that do not contain a chessboard from the same fixed point where I place the camera.

Connectez-vous pour commenter.

Réponses (1)

Isaac Rose
Isaac Rose le 10 Nov 2022
All of the parameters within the intrinsic parameter matrix are used for undistorting any image. This matrix is used to apply a coordinate transformation on the pixels in the distorted images, thereby undistorting them. Once you estimate the intrsinics from a reliable calibration, you can use this estimate to undistort other images.
Are you using the “undistortFisheyeImage” function to undistort your images? If so, you shouldn’t need to specify which elements within the intrinsic matrix to use: you can simply pass the “Intrinsics” property of the estimated fisheye parameters as an argument to this function. This assumes that you are specifying your camera model as “Fisheye” in the Camera Calibrator App. This documentation helps explain what is contained in a “fisheyeIntrinsics” object:
  3 commentaires
Isaac Rose
Isaac Rose le 14 Nov 2022
After exporting the camera parameters variable to the workspace, I would recommend saving this to a '.mat' file by executing the following command:
>> save camcalib.mat cameraParams
You can then copy the generated .mat file to the same folder as your undistortion script using your file explorer and load the variable each time you run your script with the following line of code:
load('camcalib.mat')
You can then retrieve the camera instrinsics from the loaded variable in your script, i.e.:
cameraIntrinsics = cameraParams.Intrinsics;
Pedrp Perez Serrano
Pedrp Perez Serrano le 15 Nov 2022
Thank you very much!!!

Connectez-vous pour commenter.

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by