编辑:我现在发现了这个类似的问题并给出了非常详细的答案:
proportions of a perspective-deformed rectangle
我正在使用OpenCV的findHomography()
和warpPerspective()
方法来“去除”一张纸的照片。我有很大的工作,但我坚持一个细节。
我不明白该怎么做的部分是计算输入findHomography()
的最佳目标点集。我知道我希望我的输出是矩形的,但我不知道矩形的宽度与高度的比例。我还希望调整输出矩形的大小,以便在通过warpPerspective()
应用变换时输出图像的缩放比例最小。我所拥有的是形成四边形的四个点,我想在源图像中进行变换。如何计算最佳尺寸的目标矩形?
答案 0 :(得分:4)
findHomography()
方法需要四个点(如果使用直接线性变换)。如果您想要最佳设置,则需要4点设置,DLT的单应性给出最小重投影误差。我的意思是,你需要一种方法来检测 DLT 的特定数学模型的内点/异常值。
这种方法是 RANSAC ,OpenCV实现了它。您会发现findhomography()
与 RANSAC 相结合的示例。
我个人发现一个问题,就是OpenCV中RANSAC的迭代次数太高了。如果您正在寻找最佳速度,您将不得不深入研究代码。