转载:计算机图形学(三)-图形学中的基本变换(缩放、平移、旋转、剪切、镜像)
1. 二维变换
1.1 缩放变换
如果 x 和 y 方向缩放比例相同,则
s
x
=
s
y
s_x=s_y
sx=sy。
图片缩放需要采用插值的方法对像素值进行填充,常用的差值方法有:
- 最近临域插值
- 双线性插值(默认情况)
- 像素关系重采样
- 立方插值
1.2 镜像变换
y轴镜像
x轴镜像
原点镜像
y=x镜像
y=-x镜像
1.3 剪切变换
简单来说,就是将正方形拉成平行四边形,但有几个特点:
- 变换后物体的y坐标保持不变
- x坐标在最高的点平移了a,最低点没有移动
- 其它的点移动距离a * Y (Y表示物体上点的y坐标值)
注:有的资料说剪切就是相当于截图的效果。
1.4 旋转变换
绕原点的旋转变换
以上的变换都能直接用2*2的矩阵表示,属于线性变换。
1.5 平移变换
1.6 逆变换
就是乘以变换矩阵的逆矩阵。
1.7 组合变换
组合变换就是对一个物体进行多个变换,例如同时进行平移和旋转变换。
上图中有两套组合变换
- 先平移(1,0),再旋转45度
- 先旋转45度,再平移(1,0)
组合变换的顺序不同,最终的结果也不同。
1.8 非原点的旋转变换
这个过程分为三步:
- 将物体旋转要绕的点移动到原点,
- 移到原点后做旋转变换
- 旋转变换完成后平移回原来的位置
1.9 刚体变换
旋转和平移组成的变换称为刚体变换,只有物体的位置和角度发生了变换,物体的形状不会变化。
刚体变换的逆变换
二维刚体变换的逆变换矩阵,只需要把原变换矩阵左上角2×2矩阵(上图蓝色框部分)转置,右侧最后一列(上图红色框部分)的平移分量符号取反。就可以得到刚体变换的逆变换矩阵
2. 三维变换
2.1 三维平移变换
2.2 三维缩放矩阵
2.3 三维旋转矩阵
绕z轴旋转旋转矩阵
绕x轴旋转矩阵
绕y轴旋转矩阵
绕任意轴旋转矩阵
3. 总结
上述的操作都可以通过opencv轻松完成。