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

Java OpenCV:在没有校准图像的情况下估计径向畸变,java,opencv,computer-vision,distortion,radial,Java,Opencv,Computer Vision,Distortion,Radial,我目前正在Java中使用OpenCV,但如果需要,我可以切换到其他版本 我在世界坐标系和图像坐标系中都有一组已知点。这些点不是通过校准目标获得的。它们可能非常不准确。我可以假设它们接近共面 我试图从中获得单应性和透镜校正。这台相机很便宜,所以有镜头问题 在没有校准目标的情况下,我一直在努力获得OpenCV函数来帮助我。有很多类似的问题被问到(我发现最相似的是这个:),但没有一个完全符合要求 我在想,我可以反复地找到单应性,纠正,找到镜头畸变,纠正并重复,直到我得到一个确定的结果。即便如此,我似乎

我目前正在Java中使用OpenCV,但如果需要,我可以切换到其他版本

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

我试图从中获得单应性和透镜校正。这台相机很便宜,所以有镜头问题

在没有校准目标的情况下,我一直在努力获得OpenCV函数来帮助我。有很多类似的问题被问到(我发现最相似的是这个:),但没有一个完全符合要求

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


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

OpenCV有这个功能

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

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


另请参见。

谢谢,我使用的是CalibleCamera2,它的功能几乎相同。我运气不太好;我想这可能是因为我没有“校准模式的多个视图”。我将再次尝试CalibleCamera和CalibleCamera2。我想发布代码,但我想我还没到那里!因此,我们可以计算摄像机畸变系数,并使用停止标准/约束进行迭代,即目标对象应该是具有正交线对的矩形?(如果OP的目标是矩形?)?