相似、仿射、射影变换区别

刚性变换:只有物体的位置(平移变换)和朝向(旋转变换)发生改变,而形状不变,得到的变换称为刚性变换。

下面分别从等距变换,相似变换,仿射变换,射影变换几个部分分别介绍:

1、等距变换(欧式变换)

它相当于是平移变换(t)和旋转变换(R)的复合,等距变换前后长度,面积,线线之间的角度都不变。

自由度 6 (3+3)
在这里插入图片描述
2、相似变换

等距变换和均匀缩放(S)的一个复合,类似相似三角形,体积比不变。

自由度 7 (6+1)
在这里插入图片描述
3、仿射变换(正交投影)

一个平移变换(t)和一个非均匀变换(A)的复合,A是可逆矩阵,并不要求是正交矩阵。

仿射变换的不变量是:平行线,平行线的长度的比例,面积的比例

自由度12 (9+3)
在这里插入图片描述
可以看出,仿射变换就是对图像的旋转+平移+缩放+切变(shear),相比前两种变换图像的形状发生了改变,但是原图中的平行线仍然保持平行。

4、射影变换(透视变换)

当图像中的点的齐次坐标的一般非奇异线性变换

射影变换的不变量是:重合关系、长度的交比

自由度 15 (整个矩阵除以v右下角为1)
在这里插入图片描述
在这里插入图片描述
可以看出,射影变换就是对图像的旋转+平移+缩放+切变+射影,相比前三种变换图像的形变更为自由,原图中的平行线经过变换之后已经不在平行,而可能相交于一点,射影变换就是把理想点(平行直线在无穷远处相交)变换到图像上

总结仿射变换位于射影变换和相似变换之间,仿射变换推广相似变换使得夹角不再保持不变,造成物体形状在变换后产生歪斜,他在变换中,直线只与方向有关,与位置无关,不会像射影变换那样,越远越小。。。。。。

仿真代码:

clear;close all;clc
I=imread('1.png');
figure(1),subplot(1,5,1);imshow(I);title("原图");
[w,h]=size(I);
theta=pi/4;
t=[100,100];
s=0.2;
% 等距变换
H_e=projective2d([cos(theta) -sin(theta) t(1);
              sin(theta)  cos(theta) t(2);
                  0           0       1]');
newimg=imwarp(I,H_e);
subplot(1,5,2);imshow(newimg);title("等距变换");
% 相似变换
H_s=projective2d([s*cos(theta) -s*sin(theta) t(1);
                  s*sin(theta)  s*cos(theta) t(2);
                     0           0       1]');
newimg=imwarp(I,H_s);
subplot(1,5,3);imshow(newimg);title("相似变换");
% 仿射变换
H_a=projective2d([1 0.5 t(1);
                 0 0.5 t(2);
                 0 0  1]');
newimg=imwarp(I,H_a);
subplot(1,5,4);imshow(newimg);title("仿射变换");
% 射影变换
H_P=projective2d([0.765,-0.122,-0.0002;
                 -0.174,0.916,9.050e-05;
                  105.018,123.780,1]);
newimg=imwarp(I,H_P);
subplot(1,5,5);imshow(newimg);title("射影变换");
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值