我对相机校准技术完全陌生……我正在使用 OpenCV 棋盘技术……我正在使用 Quantum 的网络摄像头……
这是我的观察和步骤..
我的校准代码是
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
和 fy
正在改变 fx:fy
几乎等于 1。有 cx
和 cy
值按 200 到 400 的顺序排列。fx
和 fy
当我改变距离时,大约是 300 - 700。 我是否正确进行了校准?我应该使用除
CV_CALIB_FIX_ASPECT_RATIO
之外的任何其他选项吗? ?.如果是,是哪一个?
请您参考如下方法:
嗯,你是在找“帅”还是“准”?
相机校准是计算机视觉中为数不多的可以直接用物理术语量化精度并通过物理实验验证的主题之一。通常的教训是 (a) 你的数字和你投入的精力(和金钱)一样好,并且 (b) 真正的准确性(与想象相反)是昂贵的,所以你应该提前弄清楚什么您的应用程序确实需要精度。
如果您查看甚至非常便宜的镜头/传感器组合(百万像素及以上)的几何规范,就会很明显地发现,理论上可以在桌面空间内实现亚亚毫米校准精度。只需计算出(从相机传感器的规范表中)一个像素跨越的立体角 - 您会为钱包触手可及的空间分辨率而眼花缭乱。然而,实际达到可重复的接近理论精度的东西需要工作。
以下是一些建议(来自个人经验),可帮助您获得使用国产设备的良好校准体验。