计算OpenCV的findHomography的目标点

时间:2012-07-11 21:58:57

标签: image-processing opencv homography

编辑:我现在发现了这个类似的问题并给出了非常详细的答案:

proportions of a perspective-deformed rectangle


我正在使用OpenCV的findHomography()warpPerspective()方法来“去除”一张纸的照片。我有很大的工作,但我坚持一个细节。

我不明白该怎么做的部分是计算输入findHomography()的最佳目标点集。我知道我希望我的输出是矩形的,但我不知道矩形的宽度与高度的比例。我还希望调整输出矩形的大小,以便在通过warpPerspective()应用变换时输出图像的缩放比例最小。我所拥有的是形成四边形的四个点,我想在源图像中进行变换。如何计算最佳尺寸的目标矩形?

1 个答案:

答案 0 :(得分:4)

findHomography()方法需要四个点(如果使用直接线性变换)。如果您想要最佳设置,则需要4点设置,DLT的单应性给出最小重投影误差。我的意思是,你需要一种方法来检测 DLT 的特定数学模型的内点/异常值。

这种方法是 RANSAC ,OpenCV实现了它。您会发现findhomography() RANSAC 相结合的示例。

我个人发现一个问题,就是OpenCV中RANSAC的迭代次数太高了。如果您正在寻找最佳速度,您将不得不深入研究代码。