Nine DOF pinhole camera calibration using Computer Vision Toolbox?
3 views (last 30 days)
Show older comments
Matt J on 3 Dec 2015
Commented: jueyue ouyang on 11 Jan 2019
I have a set of 3D world points and corresponding 2D image points. Using these, I would like to do a single pinhole camera calibration with 9 degrees of freedom. In other words, I know that I have no camera distortion or skew and that my 2D pixel scaling is the same in x and y (so I have only 3 intrinsic parameters).
Is there a way to do this restricted form of calibration using Computer Vision Toolbox functions? I have been looking at estimatecameraParameters() in R2015. However, this function does not appear to give the option of turning off radial distortion estimation. It also does not appear to give the option of estimating with fewer than 4 intrinsic parameters.
jueyue ouyang on 11 Jan 2019
will this calibration toolbox satisfy your needing?camera calibration toolbox caltech It can modify the distorsion parameter of radial and tangental
Dima Lisin on 4 Dec 2015
Edited: Dima Lisin on 4 Dec 2015
I don't think estimateCameraParameters is suitable for this. It implements the calibration algorithm by Zhengyou Zhang, which assumes multiple images of a planar calibration pattern.
If you have a single set of non-coplanar 3D points, and their corresponding image points, then you should use the Tsai calibration algorithm.
On the other hand, if you do have multiple images of a planar calibration pattern, then you can simply edit estimateCameraParameters.m and comment out the call to refine() method. That will skip the non-linear optimization step, and just give you a closed-form solution of the intrinsics and the extrinsics, assuming no distortion. Needless to say, that means you would be editing a built-in MATLAB file at your own risk.
More Answers (0)
Find more on MATLAB Support Package for USB Webcams in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!