Reputation: 563
I'm working on a project where i have to calibrate the camera in order to calculate the camera matrix and use it for other processes
I calibrated the camera using Zahng's method (Checkerboard) and performed the calibration using two different tools: 1- Matlab calibration tool 2-OpenCV method (cv2.calibrateCamera())
for both methods i used the same images (16 images).
the result form Matlab
4380.06266797091 0 0
0 4374.31691291339 0
949.990213743877 664.725183192415 1
#Radial Distortion Coefficient
-0.355521260561817 1.30195034883959
#tangational Distortion Coefficient
0 0
#average REPROJECTION ERROR
0.513903578285060
----------------------------------------------------
The results form OpenCV code
#camera matrix
mtx [[4.38350928e+03 0.00000000e+00 9.73653727e+02]
[0.00000000e+00 4.37873075e+03 6.68924323e+02]
[0.00000000e+00 0.00000000e+00 1.00000000e+00]]
#Distortion Coefficients
dist [[-3.59709752e-01 3.91496111e+00 3.43950578e-03 1.01871917e-03
-6.21911790e+01]]
So my questions are:
1-Which results are considered to be more accurate as the Principal point differs a little bit
2-Why OpenCV considers 5 Distortion Coefficients whereas Matlab considers 4 (two are zero where in Opencv are not!)
Thanks in Advance
Upvotes: 2
Views: 931
Reputation: 563
The comments have lead me to the solution of the problem. Credit to @fmw42
Upvotes: 0