仿射变换 Affine transformation
这个太重要了,我得再研究研究。并争取搞个code出来。这篇先来理论。
本文属转载。
变换模型是指根据待匹配图像与背景图像之间几何畸变的情况,所选择的能最佳拟合两幅图像之间变化的几何变换模型。可采用的变换模型有如下几种:刚性变换、仿射变换、透视变换和非线形变换等,如下图:
其中第三个的仿射变换就是我们这节要讨论的。
仿射变换(Affine Transformation)
Affine Transformation是一种二维坐标到二维坐标之间的线性变换,保持二维图形的“平直性”(译注:straightness,即变换后直线还是直线不会打弯,圆弧还是圆弧)和“平行性”(译注:parallelness,其实是指保二维图形间的相对位置关系不变,平行线还是平行线,相交直线的交角不变。)。
c和d的区别可以看下图:
仿射变换可以通过一系列的原子变换的复合来实现,包括:平移(Translation)、缩放(Scale)、翻转(Flip)、旋转(Rotation)和剪切(Shear)。
仿射变换可以用下面公式表示:
这个矩阵乘法的计算如下:
具体到二维的仿射变换的计算如下:
几种典型的仿射变换如下:
平移变换 Translation
将每一点移动到(x+tx, y+ty),变换矩阵为:
平移变换是一种“刚体变换”,rigid-body transformation,就是不会产生形变的理想物体。
效果:
缩放变换(Scale)
将每一点的横坐标放大(缩小)至sx倍,纵坐标放大(缩小)至sy倍,变换矩阵为:
变换效果如下:
剪切变换(Shear)
变换矩阵为:
相当于一个横向剪切与一个纵向剪切的复合
效果:
旋转变换(Rotation)
目标图形围绕原点顺时针旋转theta弧度,变换矩阵为:
效果:
组合
旋转变换,目标图形以(x, y)为轴心顺时针旋转theta弧度,变换矩阵为:
相当于两次平移变换与一次原点旋转变换的复合:
先移动到中心节点,然后旋转,然后再移动回去。
这个转换矩阵也可以下面这样描述。
一些常用转换矩阵如下:
二更:注意这里的旋转矩阵的公式是按照矩阵右乘来算的。即,
仿射变换 Affine transformation相关推荐
- opencv中很有趣的仿射变换(Affine Transformation)
在仿射变换中,原图中所有平行的行在变换后的图像中仍然平行.为了构建仿射矩阵,我们需要原图中的三个点和它们在变换后的图像中的对应位置.函数 cv.getAffineTransform 创建一个2*3的矩 ...
- 仿射变换(affine transformation)
仿射变换(affine transformation) 多面体编译(polyhedral compilation)会使用到仿射变换(affine transformation)的知识,这里介绍下仿射变 ...
- OpenCV仿射变换Affine Transformations
OpenCV仿射变换Affine Transformations 仿射变换Affine Transformations 目标 理论 什么是仿射变换? 我们如何获得仿射变换? 代码 这个程序做什么? 解 ...
- 仿射变换affine和透视变换
仿射变换和单应矩阵 首先明确:二者的应用场景相同,都是针对二维图片的变换.仿射变换affine是透视变换的子集,透视变换是通过homography单应矩阵实现的. 从数学的角度,homography即 ...
- 仿射变换 (Affine transform) 参数估计方法
仿射变换 (Affine transform) 参数估计方法 最近一个机器视觉课题中的一个小问题.两幅图像中各有一些特征点,我们分别称为 ( x i , y i ) (x_i, y_i) (xi,y ...
- 仿射变换(Affine transformation)与python实践
仿射变换,又称仿射映射,是指在几何中,一个向量空间(vector space)进行一次线性变换(linear transformation)并拼上一个平移(Translation ).所以,本质上仿射 ...
- Q76:仿射变换(Affine Transformation)
三维图形的仿射变换包括平移(Translation).缩放(Scaling).旋转(Rotation).错切(Shearing).翻转(Reflection). 仿射变换具有"平直性&quo ...
- 【自动驾驶】15.一文读懂图像中点的坐标变换(刚体变换,相似变换,仿射变换,投影变换)
0 前言 现在的人脸图像识别流程中有一个步骤叫人脸对齐,现在的一般方法是采用人脸上的关键点坐标,进行相似变换来实现人脸校正.多次在人脸识别的论文中看到 similarity transform,由于在 ...
- 图像处理二:仿射变换和透视变换
一.仿射变换(Affine Transformation) 放射变换(平面变换.二维坐标变换):是空间直角坐标系的变换,从一个二维坐标变换到另一个二维坐标,仿射变换是一个线性变换,保持了图像的&quo ...
最新文章
- 独家 | AI仍然受困于仇恨言论——但科学家们在衡量每个系统失败的地方正做得越来越好...
- 损失函数/成本函数/目标函数的区别
- STL中的set容器的一点总结
- PHP变量的变量——可变变量
- 教科书上的LDA为什么长这样?
- pat1043. Is It a Binary Search Tree (25)
- 线段树-Count on a Treap-神题
- 关于phpcmsv9更新缓存出现链接被重置的问题
- 转载 - 整数划分问题
- 语文高考识记现代汉字的字形【转】
- 在谈数据治理和数字化的时候,别忘了数据标准
- 使用stanford nlp进行依存句法分析
- 21大软件架构特点的全面解析
- tar -xf_【图】兼具优雅与运动 抢先实拍改款捷豹XF
- 48页PPT|小米用户画像实战,每页都是经典
- 菜鸟的spring security学习教程
- AutoRunner 功能自动化测试项目实训之AutoRunner的下载安装(十九)
- CAR路里大学堂-汽车测试培训(CANOE)
- 微信小程序分享朋友圈 详细教程及注意事项
- (转)牛顿和哈雷的故事(重点看一下牛顿老时候)