Azzera filtri
Azzera filtri

FishEye Params Camera Corrector

4 visualizzazioni (ultimi 30 giorni)
Pedrp Perez Serrano
Pedrp Perez Serrano il 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 Commenti
Isaac Rose
Isaac Rose il 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 il 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.

Accedi per commentare.

Risposte (1)

Isaac Rose
Isaac Rose il 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 Commenti
Isaac Rose
Isaac Rose il 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 il 15 Nov 2022
Thank you very much!!!

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by