FishEye Params Camera Corrector
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
Isaac Rose
2022-11-9
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?
回答(1 个)
Isaac Rose
2022-11-10
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 个评论
Isaac Rose
2022-11-14
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;
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Camera Calibration 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!