我有一个变形网格,必须应用于图像。当我应用网格时,我得到了我期望的结果。
现在,我想将相同的网格应用于相同的图像,但图像以以下方式修改:逆时针旋转 270 度。
网格作为点数组存储在内存中。它是 [-1, -1] - [1, 1] 归一化的。我正在尝试围绕原点旋转整个东西,即 [0, 0] id est 是图像的中心。另外,我正在尝试以 90 度的离散步长旋转。
P1 P2 P3
P4 P5 P6
P7 P8 P9
这些是图像中点的目标坐标。例如,输入图像的右下角坐标为 [1,1]。在输出图像中,该点移动到 [P9.x, P9.y](也称为前向映射)。
我转置矩阵:
P1 P4 P7
P2 P5 P8
P3 P6 P9
然后我将转换应用于每一点
x = y'
y = -x',
其中 ' 表示旧坐标,缺少素数表示新坐标。我将派生网格应用于旋转
但是,我没有得到预期的扭曲。这项任务对我来说似乎非常简单,但我发现自己在第三天与这种奇怪的行为作斗争。有人可以指出我的错误或正确的程序吗?