如何在矩形坐标上应用变换

时间:2013-07-11 05:07:48

标签: matlab transform transformation matlab-guide

我正在检测代码中的对象并在其周围绘制一个矩形。我有四个绘制矩形的变量:X,Y,Width和Height。我找到了一个需要在矩形上应用的变换矩阵。返回的变换矩阵是一个3 * 3矩阵,如下所示:

Tinv =

    1.0022    0.0018        0

   -0.0018    1.0022         0

   -0.4353   -0.9079    1.0000

如何使用此矩阵在矩形上应用变换?

1 个答案:

答案 0 :(得分:0)

您应该做的是计算矩形的所有四个顶点,然后在每个单独的顶点上应用变换。这应该很容易;如果我得到你想要做的事情,那么你可以使用类似下面的内容说:

X = 1;
Y = 2.34;
W = 3.21;
H = 2;

顶点现在可以是(假设(X,Y)表示矩形的左上顶点,其基数为0弧度:

(x1,y1) = (1,2.34)
(x2,y2) = (4.21,2.34)
(x3,y3) = (4.21,0.34)
(x4,y4) = (1,0.34)

现在可以表示为:

[
1.00    2.34    0.00
4.21    2.34    0.00
4.21    0.34    0.00
1.00    0.34    1.00
]

现在可以根据需要通过简单矩阵乘法进行转换。