2


我有一个用户选择任意 4 角多边形的图像。
我想将此多边形拉伸到整个图像中。
我试过用单应性和 cvWarpPerspective 来做,
但结果是透视变换,这不是我想要的。
任何想法如何使用 OpenCV/EMGU 做到这一点?

谢谢,
西南

4

2 回答 2

0

我认为您想要的是反转透视变换。

这是您必须考虑做的事情。假设您的多边形最初位于屏幕 (0,0) ....(w,h) 的位置 (x1,y1)....(x4,y4)。使用 cvWarpPerspective/getPerspectiveTransform 应用透视变换,您将能够将原始坐标转换为已知坐标。因此,您基本上应该将已知坐标与透视变换矩阵的逆相乘(除非这是不可逆的,在这种情况下,您必须在齐次坐标项中添加一个增量项)

于 2011-02-15T13:25:15.267 回答
0

你正在尝试的应该工作。通过使多边形的 4 个角对应于 (0,0) (0,height) (width,0) 和 (width,height) 来计算单应性。

看看GetPerspectiveTransform

于 2011-02-15T07:18:50.613 回答