美文网首页
仿射变换

仿射变换

作者: 爱毯子的小狮子 | 来源:发表于2020-09-16 10:36 被阅读0次

仿射变换(affinement)是由一个线性变换平移组成的,如图所示

图像里的仿射变换

1. SLAM中的仿射变换

在SLAM里,尤其是直接法SLAM,当想要使用块匹配(patch match)来求对应点的时候,由于两帧之间的视角已变,patch的形状和位置也发生了改变,不能单纯用一样的patch做匹配(如4x4的),需要有一帧里做仿射变换,把另一帧的正常patch变换到该帧,变换之后可能是平行四边形,菱形等(不包括梯形)。

实际上相机平面上的投影并不是仿射变换,因为相机不是平行投影,而是中心投影。如下图所示,当物体相对投影面倾斜的时候,中心投影会变成梯形(不是线性变换),而平行投影仍然是矩形(或平行四边形)。

中心投影和平行投影

然而当我们考虑像素块的patch的时候,几个到几十个像素的尺度太小了,近似为平行投影,所以用仿射变换是没问题的。况且严格使用SE3变换计算量较大,不适合用在需要快速匹配的像素块。

一般平移这一步在重投影的时候已经定位了,或者说当我们不知道块的具体位置,如进行极线搜索的时候,平移正是我们所求的。而往往线性变换已知,所以我们只要关注patch的线性变换。SLAM中也常用Affine来直接代替线性变换了,这点要注意

2. 线性变换矩阵求解

二维线性变换的一些感性认识

正如上面链接提到的,线性变换矩阵的求解只要求出源空间的基的变换即可,特别的,当源空间基为平行于图片像素的时候,直接拿变换后的基组成1、2列就可得到仿射变换矩阵。

二维线性变换矩阵的构成

相关文章

  • 第四篇:CALayer能力之仿射变换和3D变换

    目录 一、UIView的仿射变换 1、单仿射变换 2、混合仿射变换 3、CGAffineTransformIden...

  • iOS 仿射变换

    一、iOS 仿射变换CGAffineTransform详解IOS开发UI篇--仿射变换(CGAffineTrans...

  • 仿射变换

    参考资料: 马同学:如何通俗的解释仿射变换 1. 仿射变换的作用: 通过仿射变换对图片进行旋转、平移、缩放等操作以...

  • 图片处理-opencv-7.图像几何变换

    图像几何变换 1.图像仿射变换 图像仿射变换又称为图像仿射映射,是指在几何中,一个向量空间进行一次线性变换并接上一...

  • 高级动画学习心得笔记(五)变换

    5.1 仿射变换 5.1.1 仿射变换基础 UIView的transform属性是一个CGAffineTransf...

  • 详细解析 CGAffineTransform 矩阵

    CGAffineTransform 是对于仿射变换矩阵进行了封装,而要理解仿射变换(affine transfor...

  • opencv python版-lesson 11

    缩放,平移,旋转.仿射变换,透视变换

  • 仿射变换

    UIView的transform属性是一个CGAffineTransform类型,用于在二维空间做旋转、缩放和平移...

  • 仿射变换

    仿射变换(affinement)是由一个线性变换和平移组成的,如图所示 1. SLAM中的仿射变换 在SLAM里,...

  • 仿射变换

    参考 http://www.cnblogs.com/ghj1976/p/5199086.html 变换模型是指根据...

网友评论

      本文标题:仿射变换

      本文链接:https://www.haomeiwen.com/subject/zznkrktx.html