反转仿射变换 - 如何更新中心坐标?

时间:2010-05-24 17:21:34

标签: image-processing matrix affinetransform

所以我有一个通过仿射变换转换成空间的3D图像。该变换由传统的4x4矩阵加上执行变换的中心坐标组成。如何反转该中心点才能返回原始空间?我有坐标,但它是1x3向量(或3x1,取决于行/列顺序)。我假设要获得反向的适当中心,我需要将向量设置为1x4,但如果是这样的话,我应该把它放到第四个位置?明显的候选人是0和1,但我不确定这是不是正确的事情。

我的想法是,如果我将图像转换为空间,然后反转变换,则生成的图像应该相同(在重新采样的舍入误差/混叠效果中)。然而,目前,我只是使用相同的中心坐标,并且产生的图像偏移了一些而不是产生完全相同的图像。那么,我该如何改变这个中心点?

1 个答案:

答案 0 :(得分:1)

我认为你的转变是这样的

x' = Mx + t

解决x应该给出

x = M_inv (x' - t) 

在3D坐标系中使用4x4矩阵通常意味着在齐次坐标系中工作。您将乘法值存储在通常称为w的第4个坐标中。值1适用于位置,值0适用于矢量。这是因为存储在矩阵M中的翻译信息应仅影响位置(这是一个非常基本的解释,对不起)。所以,是的,否定翻译向量应该已经成功了。添加0作为第4个组件。

相关问题