【计算机视觉】【图像处理】几何变换之仿射变换(平移、缩放、旋转)
2018-03-06 20:46
411 查看
1.概念词语
1)图像的几何变换对图像进行放大、缩小、旋转等操作,会改变原图中各区域的空间关系,这类操作就是图像的几何变换。
2)仿射变换
对原来的x和y坐标分别进行线性的几何变换,得到新的x和y,这种变换就是放射变换。
3)投影变换
4)极坐标变换
5)齐次坐标
在原坐标的基础上,引入第三个数值为1的坐标,这种表示方法就是齐次坐标。
6)仿射变换矩阵
仿射变换矩阵的最后一行均为(0,0,1)此形式,最后一个值为1。
2.平移
图像平移时,不改变图像的大小,只是改变了图像的位置。图像从一个地方平移到另外一个地方,可以表示为原图像上的坐标点(x,y)像素,移动到了新的坐标点(x', y')像素,量化平移的距离后,可以得到:x' = x + Δx
y' = y + Δy
可以知道,如果Δx>0,表示图像沿x轴正方向移动;如果Δx<0,表示图像沿x轴负方向移动。
可以知道,如果Δy>0,表示图像沿y轴正方向移动;如果Δy<0,表示图像沿y轴负方向移动。
在齐次坐标表示该平移变换过程,如下矩阵形式所示:
3.以(0,0)为中心进行放大和缩小
这里的放大和缩小不是指在物理空间中某一物体的放大和缩小。
二维空间坐标(x, y)以(0,0)为中心,在水平上缩放Sx倍,指的是变换后的坐标位置(x',y')离(0,0)的水平距离变为原坐标(x,y)离位置中心点的水平距离的Sx倍;在垂直方向上缩放Sy倍,指的是变换后的坐标位置(x',y')离(0,0)的垂直距离为原坐标(x,y)离位置中心的垂直距离的Sy倍。
用数学公式表示,(x', 'y) = (Sx * x, Sy * y)
如果Sx>1,则表示在水平方向上放大;如果0<Sx<1,则表示在水平方向上缩小。
如果Sy>1,则表示在垂直方向上放大;如果0<Sy<1,则表示在垂直方向上缩小。
齐次坐标的放大和缩小变换过程,可以用如下矩阵形式表示:
4.以(x0,y0)为中心的放大和缩小
以(0,0)为中心的放大和缩小,很容易理解。而以(x0,y0)为中心的放大和缩小,直接来理解比较苦难。但是可以用分解步骤的思想来进行理解,可以变得简单一些。
以(x0,y0)为中心的缩放(x,y)=先将原点(0,0)移动到中心点(x0,y0)--->以新原点为中心点进行缩放--->然后再移回坐标原点。
5.等比例缩放
在上面放大和缩小的公式中,如果Sx==Sy,则表示是等比例缩放。
相关文章推荐
- Python-OpenCv之图像基本处理-平移,缩放,旋转,翻转,裁剪及仿射变换
- 图像处理中的旋转、平移、缩放——仿射变换的原理和优化
- 【OpenCV3图像处理】图像简单几何变换:旋转、平移、缩放
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
- 【数字图像处理】六.MFC空间几何变换之图像平移、镜像、旋转、缩放详解
- 数字图像处理--通过矩阵,简化操作(旋转,平移,缩放,切边....)
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
- 图像基本变换--- 平移、旋转、缩放、仿射变换、镜像
- 【计算机视觉】【图像处理】几何变换之插值算法(最近邻插值法、双线性插值法)
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
- matlab 图像几何变换 平移、旋转、缩放
- matlab 图像几何变换 平移、旋转、缩放
- opencv 图像仿射变换 计算仿射变换后对应特征点的新坐标 图像旋转、缩放、平移
- opencv 图像仿射变换 计算仿射变换后对应特征点的新坐标 图像旋转、缩放、平移
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(2)
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
- 图像处理之图像基本变化(平移、缩放、旋转)(Octave实现)
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)