Gol*_*les 8 opengl graphics linear-algebra computer-vision
我有一个由任意四边形组成的场景.我需要能够将四边形转换成矩形.每个四边形都在2d坐标中,因此它们有4个顶点(x_i, y_i).
转换需要有一个逆,因为想法是在操作矩形后返回原始四边形.
执行此操作最简单的方法是什么?我听说它被称为透视转换,但我发现一些小线索让我觉得这很容易做到.
Jac*_*cob 13
你知道所需矩形的大小是多少吗?如果是这种情况,您可以使用透视变换将任何凸四边形映射到具有可逆变换的矩形.你所要做的就是获得4个对应点(在四边形和矩形之间),比如说,(X 1,Y 1),(X 2,Y 2),(X 3,Y 3),(X 4,Y 4)对于四边形并且相应地(x 1,y 1),(x 2,y 2),(x 3,y 3),(x 4,y 4))为矩形.然后将其插入Borealid链接的最终等式中,然后设置:

上述等式(其中n = 4)的解将给出可逆透视变换矩阵的元素(a,b,c,d,e,...,h),

这将允许您将矩形上的点转换为四边形上的点.对于逆向变换,只需反转变换矩阵.
另请注意,一旦获得变换坐标的向量[XW YW W] T,就需要对其进行归一化,使得W = 1.即,您的最终答案是[XW/W YW/WW/W] T等于[XY 1] T,所需的答案.