1.4.1 图像变换介绍

本文详细介绍了图像变换中的刚体变换、等距变换、相似变换、仿射变换和透视变换,阐述了它们之间的区别、形式、自由度以及求解方法,特别强调了各变换对几何属性的影响,如长度、角度和比例的保持或改变。
摘要由CSDN通过智能技术生成

图像变换介绍

更多内容,请关注:
github:https://github.com/gotonote/Autopilot-Notes.git

常规图像变换如:刚体变换、欧式变换、相似变换、仿射变换、透视变换等,但他们之间的关系和区别经常混淆。因此本文简单的介绍和辨析一下这几种变换的区别与联系:

变换矩阵自由度保持性质
平移[I, t](2×3)2方向/长度/夹角/平行性/直线性
刚体[R, t](2×3)3长度/夹角/平行性/直线性
相似[sR, t](2×3)4夹角/平行性/直线性
仿射[T](2×3)6平行性/直线性
透视[T](3×3)8直线性

一、 刚体变换(Rigid Transformation)

[ x ′ y ′ 1 ] = [ R t 0 1 ] [ x y 1 ] = [ c o s θ − s i n θ t x s i n θ c o s θ t y 0 0 1 ] [ x y 1 ] \begin{bmatrix} x′ \\ y′ \\ 1 \\ \end{bmatrix} = \begin{bmatrix} R &t \\ 0 &1 \\ \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \\ \end{bmatrix} = \begin{bmatrix} cosθ &−sinθ &tx \\ sinθ &cosθ &ty \\ 0 &0 &1 \\ \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \\ \end{bmatrix} xy1 =[R0t1] xy1 = cosθsinθ0sinθcosθ0txty1 xy1

刚体变换也叫刚性变换、欧式变换,是最基础的变换形式。其中 R R R 表示旋转矩阵,是一个正交阵 R R T = I RR^T=I RRT=I , t t t 表示平移向量。

  • 变换形式:旋转和平移
  • 自由度:三个自由度(一个旋转角 θ \theta θ ,两个平移向量 t x , t y t_x,t_y tx,ty ​)
  • 求解方式:需要两组点,四个方程求解
  • 不变量:长度、角度、面积

二、等距变换(Isometric Transformation)

[ x ′ y ′ 1 ] = [ ϵ c o s θ − s i n θ t x ϵ s i n θ θ c o s θ t y 0 0 1 ] [ x y 1 ] , ϵ = ± 1 \begin{bmatrix} x′ \\ y′ \\ 1 \\ \end{bmatrix} = \begin{bmatrix} ϵcosθ &−sinθ &tx \\ ϵsinθ &θcosθ &ty \\ 0 &0 &1 \\ \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \\ \end{bmatrix} , ϵ = ± 1 xy1 = ϵcosθϵsinθ0sinθθcosθ0txty1 xy1 ,ϵ=±1

等距变换前后两点之间的距离不变。ϵ = 1 时,等距变换就等价于刚性变换、欧式变换,是保向的;ϵ = −1 时,是逆向的,表示关于 Y 轴对称的反射变换。

  • 变换形式: ϵ = 1 时,旋转和平移; ϵ = − 1 时,旋转、平移和反射(对称)
  • 自由度:三个自由度(一个旋转角 θ ,两个平移向量 t x , t y t_x,t_y tx,ty ​)
  • 求解方式:需要两组点,四个方程求解
  • 不变量:长度、角度、面积

三、相似变换(Similar Transformation)

[ x ′ y ′ 1 ] = [ s R t 0 1 ] [ x y 1 ] = [ s cos ⁡ θ − s sin ⁡ θ t x s sin ⁡ θ s cos ⁡ θ t y 0 0 1 ] [ x y 1 ] \begin{bmatrix} x′ \\ y′ \\ 1 \\ \end{bmatrix} = \begin{bmatrix} sR &t \\ 0 &1 \\ \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \\ \end{bmatrix} = \begin{bmatrix} s \cosθ &−s \sinθ &tx \\ s \sinθ &s \cosθ &ty \\ 0 &0 &1 \\ \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \\ \end{bmatrix} xy1 =[sR0t1] xy1 = scosθssinθ0ssinθscosθ0txty1 xy1

相似变换是在刚性变换的基础上增加一个均匀放缩系数 s s s

  • 变换形式:旋转、平移、放缩
  • 自由度:四个自由度(一个旋转角 θ,两个平移向量 t x , t y t_x,t_y tx,ty ​,一个放缩系数 s s s
  • 求解方式:需要两组点,四个方程求解
  • 不变量:角度、长度的比例和面积比例

四、线性变换(Linear Transformation)

[ x ′ y ′ 1 ] = [ A 0 0 1 ] [ x y 1 ] = [ a 11 a 12 0 a 21 a 22 0 0 0 1 ] [ x y 1 ] \begin{bmatrix} x′ \\ y′ \\ 1 \\ \end{bmatrix} = \begin{bmatrix} A &0 \\ 0 &1 \\ \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \\ \end{bmatrix} = \begin{bmatrix} a_{11} & a_{12} & 0 \\ a_{21} & a_{22} & 0 \\ 0 &0 &1 \\ \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \\ \end{bmatrix} xy1 =[A001] xy1 = a11a210a12a220001 xy1

线性变换要求变换前后的直线仍是直线,且直线之间的比例保持不变。

  • 变换形式:旋转、放缩、反射(对称)、倾斜(错切)
  • 自由度:四个自由度(四个线性变换元素 a 11 , a 12 , a 21 , a 22 a_{11}, a_{12},a_{21}, a_{22} a11,a12,a21,a22 ​)
  • 求解方式:需要两组点,四个方程求解
  • 不变量:长度的比例和面积比例

五、仿射变换(Affine Transformation)

图5. 仿射变换

[ x ′ y ′ 1 ] = [ A t 0 1 ] [ x y 1 ] = [ a 11 a 12 t x a 21 a 22 t y 0 0 1 ] [ x y 1 ] \begin{bmatrix} x′ \\ y′ \\ 1 \\ \end{bmatrix} = \begin{bmatrix} A &t \\ 0 &1 \\ \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \\ \end{bmatrix} = \begin{bmatrix} a_{11} & a_{12} & t_x \\ a_{21} & a_{22} & t_y \\ 0 &0 &1 \\ \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \\ \end{bmatrix} xy1 =[A0t1] xy1 = a11a210a12a220txty1 xy1

仿射变换是线性变换和平移变换的组合,能够保持二维图形的 “平直性” 和“平行性”,但是角度会改变。 A A A 表示仿射矩阵。

“平直性”:变换后直线还是直线、圆弧还是圆弧
“平行性”:平行线还是平行线,直线上点的位置顺序不变

  • 变换形式:旋转、平移、放缩、反射(对称)、倾斜(错切)
  • 自由度:六个自由度(四个仿射矩阵元素 a 11 , a 12 , a 21 , a 22 a_{11}, a_{12}, a_{21}, a_{22} a11,a12,a21,a22 ​,两个平移向量 t x , t y t_x,t_y tx,ty ​)
  • 求解方式:需要三组点,六个方程求解
  • 不变量:平行线,平行线所分割线段长度的比例和面积的比例

六、透视变换(Perspective Transformation)

图6. 透视变换

[ x ′ y ′ 1 ] = [ A t v 1 ] [ x y z ] = [ a 11 a 12 t x a 21 a 22 t y v 1 v 2 1 ] [ x y z ] \begin{bmatrix} x′ \\ y′ \\ 1 \\ \end{bmatrix} = \begin{bmatrix} A &t \\ v &1 \\ \end{bmatrix} \begin{bmatrix} x \\ y \\ z \\ \end{bmatrix} = \begin{bmatrix} a_{11} & a_{12} & t_x \\ a_{21} & a_{22} & t_y \\ v_{1} &v_{2} &1 \\ \end{bmatrix} \begin{bmatrix} x \\ y \\ z \\ \end{bmatrix} xy1 =[Avt1] xyz = a11a21v1a12a22v2txty1 xyz

透视变换也叫做射影变换(Projection Transformation),是将图像投影到一个新的视平面。其中 v v v 用于产生图像透视变换。

  • 变换形式:旋转、平移、放缩、反射(对称)、倾斜(错切)、透视
  • 自由度:八个自由度(四个仿射矩阵元素 a 11 , a 12 , a 21 , a 22 a_{11},a_{12},a_{21},a_{22} a11,a12,a21,a22 ​,两个平移向量 t x , t y t_x,t_y tx,ty ​、两个透视变换元素 v 1 , v 2 v_1,v_2 v1,v2 ​)
  • 求解方式:需要四组点,八个方程求解
  • 不变量:长度的交比
  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值