图解图像仿射变换
一. 原理:
文章参考自:https://www.cnblogs.com/liekkas0626/p/5238564.html
仿射变换(Affine Transformation 或 Affine Map)是一种二维坐标(x,y)到二维坐标(u,v)的线性变换,其数学表达式为:
![](https://upload-images.jianshu.io/upload_images/17221499-fb76862c27822c87.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
仿射变换数学表达式 ↑
![](https://upload-images.jianshu.io/upload_images/17221499-642eabe7f8373224.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
对应齐次坐标矩阵 ↑
仿射变换保持了二维图像的 “平直性”(直线经仿射变换后依然为直线)和 “平行性” (直线之间的相对位置关系保持不变,平行线经仿射变换后依然为平行线,且直线上点的位置顺序不会发生改变)。非共线的三对对应点确定一个唯一的仿射变换。
二. 二维图像仿射变换
图像处理中,可应用仿射变换对二维图像进行平移、缩放、旋转等操作。实例如下:
![](https://upload-images.jianshu.io/upload_images/17221499-7eaf8da2c234b2ff.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
经仿射变换后,图像关键点依然构成三角形,但三角形形状已经发生变化 ↑
三. 原子变换
仿射变换通过一系列原子变换复合实现,具体包括:平移(Translation)、缩放(Scale)、旋转(Rotation)、翻转(Flip)和错切(Shear)。
![](https://upload-images.jianshu.io/upload_images/17221499-017c2764f20b6585.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
① 平移图解 ↑
![](https://upload-images.jianshu.io/upload_images/17221499-6ed984ad3874eb9a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
① 平移原理 ↑
![](https://upload-images.jianshu.io/upload_images/17221499-7bd742087ae7f6f9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
② 缩放图解 ↑
![](https://upload-images.jianshu.io/upload_images/17221499-2b3775b720dda82e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
② 缩放原理 ↑
![](https://upload-images.jianshu.io/upload_images/17221499-cc2af5b4841c2d96.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
③ 旋转图解 ↑
![](https://upload-images.jianshu.io/upload_images/17221499-d49171b49eeb48a5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
③ 旋转原理 ↑
![](https://upload-images.jianshu.io/upload_images/17221499-6e56ad26747f2ddb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
④ 翻转图解 ↑
![](https://upload-images.jianshu.io/upload_images/17221499-51cea305f686f1d6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
④ 翻转原理 ↑
![](https://upload-images.jianshu.io/upload_images/17221499-828185a44d1a036b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
⑤ 错切亦称为剪切或错位变换,包含水平错切和垂直错切,常用于物体产生弹性形变时 ↑
![](https://upload-images.jianshu.io/upload_images/17221499-7756e5074dee6716.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
⑤ 错切图解 ↑
![](https://upload-images.jianshu.io/upload_images/17221499-13f523f496bedb54.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
⑤ 错切原理 ↑
四. 参考内容: