我尝试使用 opencv 针孔模型来计算校准参数,然后使图像不失真。
问题是,未失真的图像中有一个奇怪的圆圈,如下所示。
代码、原始图像和结果图像是here https://github.com/wennycooper/A004_pinhole:
任何评论将不胜感激。
校准是一项比乍看起来更困难的任务。我认为主要问题是你只在图像的中心显示目标,所以畸变参数找到了这个奇怪的参数优化。有趣的是知道您允许优化哪些参数以及使用哪些标志(可以通过 OpenCV 的校准函数找到很多参数:fx、fy、cx、cy、k1、k2、p1、p2、 k3,k4,k5,k6,s1,s2,s3,s4...)。
我建议如下:
- 尝试在屏幕的所有部分使用更多图像,如果可能的话,删除图像中非常强大的图像压缩。
- 购买粘纸,在其上打印目标并将其粘在一块玻璃上,忘记纸板。
- 您可以稍微改进校准目标和角点检测,请参阅文档findChessboardCornersSB
.
- 也许减少 OpenCV 估计的参数数量有助于正则化。在我的例子中,我设置 k3 = k4 = k5 = k6 = 0。这是通过提供一个失真系数为零的向量来完成的(distCoeffs
)并给出标志 CALIB_FIX_K3、CALIB_FIX_K4 等。查看其他一些标志是否适用于您的系统(例如 CALIB_FIX_ASPECT_RATIO)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)