1

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

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

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

我一直在努力让 OpenCV 功能在没有校准目标的情况下帮助我。有很多类似的问题被问到(我发现最相似的是这个:使用 Matlab 中的单个校准图像校正镜头失真),但没有一个完全符合要求。

我在想我可以迭代地找到单应性,纠正,找到镜头畸变,纠正并重复,直到我得到一个好的结果。即便如此,我似乎无法在 OpenCV 中单独执行这些操作。

我对 OpenCV 很陌生,所以请温柔一点。

4

2 回答 2

1

openCV 有这个功能

相机校准

函数“calibrateCamera”将世界坐标和相应的图像坐标作为输入,并返回相机固有的(也是失真)

于 2015-03-26T09:17:27.553 回答
1

至少您需要“看到”已知共线的特征,无论它们是否是共面点的图像。这是因为根据定义,为了估计(并消除)镜头的径向失真,您需要最小化的误差信号是共线点与直线的偏差。

另请参阅此答案

于 2015-03-27T16:58:18.643 回答