几何变换的矩阵表示
你可以用数值矩阵来表示一个线性几何变换。每种类型的转换,例如转换、缩放、旋转和反射,都是使用一个矩阵定义的,其元素遵循特定的模式。您可以通过获取表示转换的矩阵的组合来创建组合多个转换。有关更多信息,请参见创建复合二维仿射变换.
二维仿射变换
该表列出了二维仿射变换和用于定义它们的变换矩阵。对于二维仿射变换,最后一行必须是(0 0 1)
.
使用二维平移矩阵的组合来创建一个
transltform2d
表示转换转换的对象。使用二维平移和旋转矩阵的组合来创建一个
rigidtform2d
表示非反射刚性变换的对象。使用二维平移、旋转和缩放矩阵的组合来创建
simtform2d
表示非反射相似性转换的对象。使用二维变换矩阵的任意组合来创建
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]
.
使用三维平移矩阵的组合来创建一个
transltform3d
表示转换转换的对象。使用三维平移和旋转矩阵的组合来创建一个
rigidtform3d
表示非反射刚性变换的对象。使用三维平移、旋转和缩放矩阵的组合来创建一个
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
函数不支持三维射影变换或N-D仿射和射影变换。方法可以从几何变换矩阵创建空间变换结构maketform
函数。方法将转换应用到图像上tformarray
函数。有关更多信息,请参见n维空间转换.
变换矩阵的维数必须是(N+1)-乘(N+1)的maketform
而且tformarray
函数使用后乘矩阵约定。后乘约定中的几何变换矩阵是前乘约定中的矩阵的转置。因此,对于N-D仿射变换矩阵,最后一列必须包含[0 (N, 1);1]
最后一行的值没有限制。
另请参阅
imwarp
|fitgeotform2d
|affinetform2d
|affinetform3d
|projtform2d