微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 C++ 中使用 OpenCV 相机校准的奇怪结果

如何解决在 C++ 中使用 OpenCV 相机校准的奇怪结果

我正在使用 C++ 中的 OpenCV 制作相机校准工具包。我正在使用 opencv2/calib3d 中的“calibrateCamera”和“undistort”函数。我在两个图像集上得到了很好的结果,但在 5 个图像集上得到了糟糕的结果。所有图像集都很好,并且有足够的图片来校准相机。>

here some of these image sets

例如,当我使用该图像集尝试我的代码时,我可以正确找到并绘制棋盘的角,但其他东西是错误的。畸变系数不是真的,相机的光心是负的,所以不畸变很奇怪。

chessboard corners

result

你怎么看问题?

解决方法

我觉得你搞错了。 第一个图像序列和第二个图像序列之间存在一些差异。 第 1 个序列中的图像包含大范围的校准图案,但第 2 个序列中的图像不包含。 因此,相机畸变信息不足,openCV的标定功能无法正常工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。