我对相机校准技术完全陌生……我正在使用 OpenCV 棋盘技术……我正在使用 Quantum 的网络摄像头……
这是我的观察和步骤..
- 我保持每个国际象棋正方形边 = 3.5 厘米。它是一个 7 x 5 棋盘,内有6 x 4 个角。我在距网络摄像头 1 到 1.5 m 的距离处总共拍摄了 10 张不同视图/姿势的图像。
我正在按照Bradski的Learning OpenCV中的 C 代码进行校准。我的校准代码是
cvCalibrateCamera2(object_points,image_points,point_counts,cvSize(640,480),intrinsic_matrix,distortion_coeffs,NULL,NULL,CV_CALIB_FIX_ASPECT_RATIO);
在调用此函数之前,我将沿固有矩阵的对角线的第一个和第二个元素设为一个,以保持焦距比恒定并使用
CV_CALIB_FIX_ASPECT_RATIO
随着棋盘距离的变化,和
fx
几乎等于1。当我改变距离时,和的值在200到400之间。和在300到700之间。fy
fx:fy
cx
cy
fx
fy
目前我已经把所有的失真系数都归零了,因为我没有得到包括失真系数在内的好结果。我的原始图像看起来比未失真的图像帅!
我是否正确进行校准?CV_CALIB_FIX_ASPECT_RATIO
我应该使用除?之外的任何其他选项。如果是,是哪一个?