几何变换的矩阵表示法
你可以用数值矩阵来表示线性几何变换。每种类型的转换(例如平移、缩放、旋转和反射)都使用一个矩阵来定义,该矩阵的元素遵循特定的模式。您可以通过表示转换的矩阵的组合来创建组合多个转换。有关更多信息,请参见创建复合2-D仿射变换.
二维仿射变换
表中列出了二维仿射变换和用来定义它们的变换矩阵。对于二维仿射变换,最后一行必须是[0 0 1]
.
使用2-D转换矩阵的组合来创建一个
transltform2d
表示转换转换的对象。使用2-D平移和旋转矩阵的组合来创建一个
rigidtform2d
表示非反射刚性变换的对象。使用2-D平移、旋转和缩放矩阵的组合来创建一个
simtform2d
表示非反射相似性转换的对象。使用2-D变换矩阵的任意组合来创建一个
affinetform2d
表示一般仿射变换的对象。
二维仿射变换 | 示例(原始和转换后的图像) | 变换矩阵 | |
---|---|---|---|
翻译 |
|
tx的位移x轴 ty的位移y轴。 有关像素坐标的详细信息,请参见图像坐标系. |
|
规模 |
|
年代x的比例因子x轴 年代y的比例因子y轴。 |
|
剪切 |
|
上海x的剪切因子x轴。 上海y的剪切因子y轴。 |
|
反射 |
|
φ指定反射轴的角度,以度为单位。 两种常见的反射是垂直反射和水平反射。垂直反射是关于的反射x设在,所以φ为0,反射矩阵化简为:
水平反射是关于的反射y设在,所以φ为90,反射矩阵化简为:
|
|
旋转 |
|
θ表示围绕原点旋转的角度,单位为度。 |
二维射影变换
射影变换使图像的平面倾斜。平行线可以收敛到一个消失点,创造出深度的外观。
这个变换是一个3 × 3矩阵。与仿射变换不同,对变换矩阵的最后一行没有限制。使用二维仿射和射影变换矩阵的任意组合来创建一个projtform2d
表示一般射影变换的对象。
二维射影变换 | 例子 | 变换矩阵 | |
---|---|---|---|
倾斜 |
|
E而且F影响消失点。 当E而且F消失点更接近原点,因此平行线收敛得更快。 |
三维仿射变换
表中列出了三维仿射变换和用来定义它们的变换矩阵。请注意,在3d情况下,有多个矩阵,这取决于您想要旋转或剪切图像的方式。对于三维仿射变换,最后一行必须是[0 0 0 1]
.
使用3-D转换矩阵的组合来创建一个
transltform3d
表示转换转换的对象。使用三维平移和旋转矩阵的组合来创建一个
rigidtform3d
表示非反射刚性变换的对象。使用3-D平移、旋转和缩放矩阵的组合来创建一个
simtform3d
表示非反射性相似转换的对象。使用三维变换矩阵的任意组合来创建一个
affinetform3d
表示一般仿射变换的对象。
三维仿射变换 | 变换矩阵 | ||
---|---|---|---|
翻译 | 按数量翻译tx,ty,tx在x,y,z方向,分别为:
|
||
规模 | 按比例因子比例尺年代x,年代y,年代x在x,y,z维度,分别为:
|
||
剪切 | 剪切在- z飞机:
这样
|
剪切在x z飞机:
这样
|
剪切在x - y飞机:
这样
|
反射 | 反射到- z平面,负的x坐标:
|
反射到x z平面,负的y坐标:
|
反射到x - y平面,负的z坐标:
|
旋转 | 在- z平面,按角度θx关于x轴,以度为单位:
|
在x z平面,按角度θy关于y轴,以度为单位:
|
在x - y平面,按角度θz关于z轴,以度为单位:
|
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]
最后一行的值没有限制。
另请参阅
imwarp
|fitgeotform2d
|affinetform2d
|affinetform3d
|projtform2d