OpenCV:在没有校准图像的情况下估计径向畸变

时间:2015-03-26 08:49:32

标签: java opencv computer-vision distortion radial

我目前正在使用Java中的OpenCV,但如果需要,我可以切换到其他东西。

我在世界坐标中有一组已知点以及图像坐标中已知的点。使用校准目标无法获得这些点。它们可能非常不准确。我可以假设它们接近共面。

我试图从中获得单应性和镜片校正。相机很便宜(ish),因此存在镜头问题。

我一直在努力让OpenCV功能在没有校准目标的情况下帮助我。有很多类似的问题(我发现最相似的是这个问题:Correct lens distortion using single calibration image in Matlab),但没有一个非常适合这个问题。

我以为我可以迭代地找到单应性,纠正,找到镜头失真,纠正并重复,直到我得到OK结果。即便如此,我似乎无法在OpenCV中单独执行这些操作。

我对OpenCV很陌生,所以请保持温和。

2 个答案:

答案 0 :(得分:1)

openCV具有此功能

Camera calibration

功能" calibrateCamera"取输入世界坐标和相应的图像坐标,并返回相机内在(也是失真)

答案 1 :(得分:0)

至少你需要"看"已知共线的特征,无论它们是否是共面点的图像。这是因为根据定义,为了估计(和去除)镜头的径向畸变而需要最小化的误差信号是共线点与直线的偏差。

另见this answer