1 图像变换和图像滤波(image filtering)的区别
1.1 图像滤波
图像滤波改变像素点的灰度值,不改变像素点的坐标,如下图所示。
用函数可表示为:
其中f(x)表示原图,h(x)表示滤波器
1.2 图像变换
图像变换改变像素点的坐标,不改变像素点的灰度值,如下图所示。
用函数可表示为:
其中f(x)表示原图,h(x)为图像变换
2、线性变换(linear transformations)
假设 p 表示原图,p' 表示变换后的图像,T为变换矩阵,即有:p=T(p')
线性变换主要分为以下几种:伸缩(scaling),旋转(rotation),镜像(Mirror),错切(shear)
2.1 伸缩(scaling)
假设图像被放大了s,则变换矩阵可以表示为:
2.2 旋转(rotation)
图像逆时针旋转 , 旋转矩阵可以表示为:
如果顺时针转回来,旋转矩阵可以表示为:
2.3 镜像(Mirror)
2.3.1 关于Y轴镜像
2.3.2 关于Y=X轴镜像
2.4 错切(shear)
2.4.1 沿X方向的错切
2.4.2 沿Y方向的错切
2.5 线性变换的特性
- 原点映射到原点
- 线映射到线
- 平行线保持平行
- 比率保持
- 可以组合变换
3、仿射变换(仿射变换)
线性变换无法表示图像的平移(translation)
其变换无法用一个2*2的矩阵表示。
3.1 齐次坐标(homogeneous coordinates)
如果增加坐标轴,在更高的维度表示就可以了。
或者
其含义如下图所示:
增加一个坐标后,图像的变换可以表示为:
如果变换矩阵的最后一行为 [0,0,1] ,则被称为仿射变换。
3.2 平移(translation)
平移变换可以使用如下等式表示:
3.3 基本的仿射变换
仿射变换=线性变换+平移
3.4 仿射变换的性质
- 仿射变换包含线性变换和平移
- 原点不一定映射到原点
- 线映射到线
- 平行线保持平行
- 比率保持
- 可以组合变换
4、射影变换(Projective Transformations)
4.1 射影变换的一般形式
仿射变换的变换矩阵一般形式为:
射影变换的一般等式:
上面等式变形过程中,默认 。
4.2 图像有两条边平行的情况
如果图像有两条边平行的情况,则
4.3 射影变换可以转换图像的视角
4.4 射影变换的性质
- 射影变换包含仿射变换和射影扭曲
- 原点不一定映射到原点
- 线映射到线
- 平行线不一定保持平行
- 比率不一定保持不变
- 可以组合变换
5、Image Warping
已知图像的变换矩阵和原图,如何计算变换后的图像
用公式表示:
原图f(x,y),变换(x’,y’) = T(x,y),求 g(x’,y’) 或 f(T(x,y))?
5.1 Forward Warping
直接把原图的每个坐标变换到新的位置上,如果变换后的坐标不是整数,则就近取整。
这种方法会导致变换后的图像出现空洞及重叠
5.2 Inverse Warping
对于新图像的坐标(x,y), 用逆向的映射矩阵找到原图像中对应的点,如果算出来的原图像的点不在格子上,就用插值方法获得像素值。