我有一个未转换形式和透视形式的相同矩形。 来自未转换形式和透视形式的坐标都在未转换的坐标系中。
有没有办法重建导致这种转变的转换矩阵?
我认为应该可以通过解决4个角落给出的4个方程来做到这一点,但我不知道从哪里开始。
//编辑: 看起来我在这里是xy问题的受害者。所有答案都基于3d环境。但我在图像上有一个矩形+我知道这个矩形的真实尺寸。我需要知道的是如何将其他已知点转换为透视图像
答案 0 :(得分:1)
请注意,您有8对相应的参数(每个点的x和y),需要使用8个方程计算8个矩阵参数
//four pairs of such equaions:
x' = (A * x + B * y + C) / (G * x + H * y + 1.0)
y' = (D * x + E * y + F) / (G * x + H * y + 1.0)
发现透视变换矩阵的理论在Paul Heckbert article中有描述。
可以在antigrain library(文件agg_trans_perspective.h
)
答案 1 :(得分:0)
一种方法是插入转换矩阵中给出的值。它具有易于操作的优点,但它无法帮助您理解它。
要了解变换,请绘制一个垂直屏幕并从上到下查看的图表。画出眼睛。从眼睛到屏幕的线应垂直。然后在屏幕的某个地方画一个点。然后从眼睛到点画一条线,穿过屏幕。
然后进行高中三角测量练习,以计算出点到屏幕上的投影。