主要内容

几何变换的矩阵表示法

你可以用数值矩阵来表示线性几何变换。每种类型的转换(例如平移、缩放、旋转和反射)都使用一个矩阵来定义,该矩阵的元素遵循特定的模式。您可以通过表示转换的矩阵的组合来创建组合多个转换。有关更多信息,请参见创建复合2-D仿射变换

二维仿射变换

表中列出了二维仿射变换和用来定义它们的变换矩阵。对于二维仿射变换,最后一行必须是[0 0 1]

  • 使用2-D转换矩阵的组合来创建一个transltform2d表示转换转换的对象。

  • 使用2-D平移和旋转矩阵的组合来创建一个rigidtform2d表示非反射刚性变换的对象。

  • 使用2-D平移、旋转和缩放矩阵的组合来创建一个simtform2d表示非反射相似性转换的对象。

  • 使用2-D变换矩阵的任意组合来创建一个affinetform2d表示一般仿射变换的对象。

二维仿射变换 示例(原始和转换后的图像) 变换矩阵
翻译

1 0 t x 0 1 t y 0 0 1

tx的位移x

ty的位移y轴。

有关像素坐标的详细信息,请参见图像坐标系

规模

年代 x 0 0 0 年代 y 0 0 0 1

年代x的比例因子x

年代y的比例因子y轴。

剪切

1 年代 h x 0 年代 h y 1 0 0 0 1

上海x的剪切因子x轴。

上海y的剪切因子y轴。

反射

cosd (2 φ 信德(2 φ 0 信德(2 φ cosd (2 φ 0 0 0 1

φ指定反射轴的角度,以度为单位。

两种常见的反射是垂直反射和水平反射。垂直反射是关于的反射x设在,所以φ为0,反射矩阵化简为:

[1 0 0;0 -1 0;0 0 1]

水平反射是关于的反射y设在,所以φ为90,反射矩阵化简为:

[-1 0 0;0 10 0;0 0 1]

旋转

cosd θ 信德 θ 0 信德 θ cosd θ 0 0 0 1

θ表示围绕原点旋转的角度,单位为度。

二维射影变换

射影变换使图像的平面倾斜。平行线可以收敛到一个消失点,创造出深度的外观。

这个变换是一个3 × 3矩阵。与仿射变换不同,对变换矩阵的最后一行没有限制。使用二维仿射和射影变换矩阵的任意组合来创建一个projtform2d表示一般射影变换的对象。

二维射影变换 例子 变换矩阵
倾斜

1 0 0 0 1 0 E F 1

E而且F影响消失点。

E而且F消失点更接近原点,因此平行线收敛得更快。

三维仿射变换

表中列出了三维仿射变换和用来定义它们的变换矩阵。请注意,在3d情况下,有多个矩阵,这取决于您想要旋转或剪切图像的方式。对于三维仿射变换,最后一行必须是[0 0 0 1]

  • 使用3-D转换矩阵的组合来创建一个transltform3d表示转换转换的对象。

  • 使用三维平移和旋转矩阵的组合来创建一个rigidtform3d表示非反射刚性变换的对象。

  • 使用3-D平移、旋转和缩放矩阵的组合来创建一个simtform3d表示非反射性相似转换的对象。

  • 使用三维变换矩阵的任意组合来创建一个affinetform3d表示一般仿射变换的对象。

三维仿射变换 变换矩阵
翻译

按数量翻译txty,txxy,z方向,分别为:

1 0 0 t x 0 1 0 t y 0 0 1 t z 0 0 0 1

规模

按比例因子比例尺年代x年代y,年代xxy,z维度,分别为:

年代 x 0 0 0 0 年代 y 0 0 0 0 年代 z 0 0 0 0 1

剪切

剪切在- z飞机:

1 0 0 0 年代 h x y 1 0 0 年代 h x z 0 1 0 0 0 0 1

这样

x x y y + 年代 h x y x z z + 年代 h x z x

剪切在x z飞机:

1 年代 h y x 0 0 0 1 0 0 0 年代 h y z 1 0 0 0 0 1

这样

x x + 年代 h y x y y y z z + 年代 h y z y

剪切在x - y飞机:

1 0 年代 h z x 0 0 1 年代 h z y 0 0 0 1 0 0 0 0 1

这样

x x + 年代 h z x z y y + 年代 h z y z z z

反射

反射到- z平面,负的x坐标:

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

反射到x z平面,负的y坐标:

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

反射到x - y平面,负的z坐标:

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

旋转

- z平面,按角度θx关于x轴,以度为单位:

1 0 0 0 0 cosd θ x 信德 θ x 0 0 信德 θ x cosd θ x 0 0 0 0 1

x z平面,按角度θy关于y轴,以度为单位:

cosd θ y 0 信德 θ y 0 0 1 0 0 信德 θ y 0 cosd θ y 0 0 0 0 1

x - y平面,按角度θz关于z轴,以度为单位:

cosd θ z 信德 θ z 0 0 信德 θ z cosd θ z 0 0 0 0 1 0 0 0 0 1

3-D投影和N-D变换

imwarp函数不支持3-D射影变换或N-D仿射万博1manbetx和射影变换。方法从几何变换矩阵创建空间变换结构maketform函数。方法将转换应用于图像tformarray函数。有关更多信息,请参见n维空间变换

变换矩阵的维数必须是(N+1)-by-(N+1)。的maketform而且tformarray函数使用后乘矩阵约定。后乘变换矩阵是前乘变换矩阵的转置。因此,对于N-D仿射变换矩阵,最后一列必须包含[0 (N, 1);1]最后一行的值没有限制。

另请参阅

||||

相关的例子

更多关于