仿射变换
来源:互联网 发布:淘宝店图片怎么制作的 编辑:程序博客网 时间:2024/05/19 16:38
装自于:http://blog.csdn.net/renshengrumenglibing/article/details/7176790
几何空间变换和图像配准
几何空间变换又称为橡皮膜变换,因为他可以看做是在一幅橡皮膜上印制图像,然后根据一定规则拉伸橡皮膜。由两个基本操作组成:
1)坐标的空间变换
2)灰度内插
最常用的是仿射变换一般形式如下:
[x,y,1] = [v,w,1]*T
[t11 t12 0]
= [v,w,1]*[t21 t22 0]
[t31 t32 0]
这一变换可以根据矩阵T中元素的值,对一组坐标点做尺度变换,旋转,平移,偏移。
我们有两种方法使用该式子,第一种是前向映射,它由扫描输入图像的像素,并在每一个位置(v,w)直接计算输出图像中像素的空间位置(x,y)组成。
第二种方法是反向映射,扫描输出图像的位置,并在每一个位置(x,y)使用(v,w) = T-1(x,y)反向计算输入图像相应的位置,然后进行灰度内插(一般使用最邻近,双线性,双三次内插)。
前向映射一个问题是,输入图像的的两个或多个像素会映射到输出图像的同一个位置,另一种可能是某些输出位置完全没有像素,因此反向映射比前向映射更加有效,被很多的商业公司选用,包括mathworks的 matlab使用的也是反向映射。
一、图像平移
x = v + tx
y = w + ty
原图:
平移后的图像:
二、图像旋转
x = v*cosA - w * sinA
y = v *sinA + w * cosA
进行图像旋转时,需要注意的是当图像的大小发生改变时此时若以左上角点为原点,那么原点会发生改变,一般会选定图像的中心作为原点,这样在图像进行坐标变换时中心不变。但在在变换时要记得加减一个常数,使原点相对应。
旋转后的图像:
观察旋转后的图像,会有很明显的锯齿现象。
若采用双线性插值或者三次立方插值那么锯齿依然难以消除。
三、图像的尺度变换
x = cx * v
y = cy * w
这个就不附上图了,比较简单
四、图像的偏移
垂直偏移变换:
x =v*sv + w
y = w
水平偏移变换:
x = v
y = sh*v+w
水平偏移后的图像:
- 仿射变换&透视变换
- 几何变换 -- 仿射变换
- 【翻译】仿射变换
- 仿射变换
- 仿射变换
- 仿射变换
- 仿射变换
- 仿射变换
- 仿射变换
- 仿射变换
- 仿射变换
- cvWarpAffine:仿射变换
- 仿射变换
- 关于仿射变换
- 仿射变换
- 仿射变换
- 仿射变换
- 仿射变换
- java实现二维码生成的几个方法
- 使用Maven实现JPA逆向工程
- MySQL--日期和时间
- 你所不知道的21个云服务器应用实践———云计算综合入门指南
- Gradle for Android(七)——一些使用技巧
- 仿射变换
- 我们很快就会有解码和操纵人脑的力量
- pandas 索引列、过滤、分组、求和
- HashMap类型数据读写文件
- (二十八)Amchart 界面图标显示
- 基于ERP特性的自适应QP
- 学哪种编程语言更有“钱”赚?
- 自定义view画圆
- 困扰许久的dataguard问题:error 12514 received logging on to the standby