精华内容
下载资源
问答
  • 仿射变换的通俗解释

    万次阅读 2017-03-16 16:43:06
    最近看的论文里很多都用到了仿射变换,记得本科时,图形学老师曾经讲过这部分的重要性,无奈当时看到一大堆数学公式头晕脑胀,并没有真正领会仿射变换的真谛。最近看论文的过程中,愈发觉得仿射变换不管是在利用特征...

    最近看的论文里很多都用到了仿射变换,记得本科时,图形学老师曾经讲过这部分的重要性,无奈当时看到一大堆数学公式头晕脑胀,并没有真正领会仿射变换的真谛。最近看论文的过程中,愈发觉得仿射变换不管是在利用特征点的变化推断帧与帧之间目标框的变换上(例如RANSAC做图形拼接、图像匹配),还是样本的生成上(例如TLD中利用仿射将10个原始正样本变换成200个合成样本)。所以今天静下心来理解了一下仿射变换。下面是我在知乎上看到的一篇对仿射的解释,觉得通俗易懂,毕竟公式啥的都是模型,能把抽象的东西用很直白的语言表达出来让所有人都能够理解,才是大神的最高境界.....

    原文链接

    作者:Cascade

    以下内容仅涉及图形变换,未考虑更为抽象的概念。
    为了方便起见,以下叙述均采用平面直角坐标系。

    一个矢量(1,2)可以表示为从原点指向该点的箭头。

    你可以对这个矢量进行缩放,比如放大两倍就变成了(2,4)这个操作可以表示为2 x(1,2)。也就是说放大k倍就是k(x,y)
    上面的例子写成矩阵的话就是:

    这个很简单。你也可以把矩阵中的两个值弄成不一样的。那么如果你对一张图片操作的话,横竖两个方向上的缩放倍数不同图像就变形了。方的变成长方的。

    这里用到了矩阵乘法。

    你也可以把矩阵中的两个值弄成不一样的。那么如果你对一张图片操作的话,横竖两个方向上的缩放倍数不同图像就变形了。方的变成长方的。

    你也可以对矢量进行旋转。
    比如想把向量(1,0)逆时针旋转45度。旋转以后的向量和这个向量会构成一个三角形。旋转以后的是斜边,长度和原来向量长度一样。用勾股定理计算一下。三角形的顶点会变成(√2/2, √2/2)。这个看起来比较麻烦。但是如果你明白矩阵乘法是怎么算的,那很容易理解为什么一个旋转矩阵会是这样的:


    有些变换,比如反射。相当于你在第一种情况里面对角线上的两个值有一个是负的。那么对应的就会把这个轴翻转过去。别的都很好理解。

    这些变换被称为线性变换。它提供了把一个图像扭成任意形状的方法。

    但在二维坐标系内,用2x2的矩阵所不能表示的变换就是平移操作。你在上面所有的操作无非都是给向量的两个分量乘一个系数。没办法再加一个数。想要表达这种计算就得给你的矩阵变成这样:


    这样的话,你的(x,y)向量就没法乘进去了。你可以在后面添个1,变成(x,y,1)这样的。那么变换以后的结果就是
    (xa1+yb1+c1,xa2+yb2+c2,1),去掉最后面的1,前面的就是线性变换加上一个平移变换的结果。

    这就是仿射变换。


    仿射变换可以理解为经过对坐标轴的放缩,旋转,平移后原坐标在在新坐标域中的值
    更简洁的说:仿射变换=线性变换+平移


    展开全文
  • 仿射变换、仿射矩阵

    2019-08-19 19:39:23
    如何通俗地讲解「仿射变换」这个概念? - 马同学的回答 - 知乎 https://www.zhihu.com/question/20666664/answer/157400568 https://www.wikiwand.com/zh/%E4%BB%BF%E5%B0%84%E5%8F%98%E6%8D%A2 ...

    如何通俗地讲解「仿射变换」这个概念? - 马同学的回答 - 知乎
    https://www.zhihu.com/question/20666664/answer/157400568
    https://www.wikiwand.com/zh/%E4%BB%BF%E5%B0%84%E5%8F%98%E6%8D%A2

    展开全文
  • 仿射维度和相对内部

    千次阅读 2019-05-27 18:20:16
    通俗理解,仿射包就是包含集合C\bm{C}C的最小的仿射集合。 仿射维度 将集合C\bm{C}C的仿射维度定义为其仿射包的维度。 相对内部 通俗理解:集合C\bm{C}C的相对内部,是其相对于其仿射包的内部。 作为对比,可以说:...


    总结凸优化中的一些知识。

    仿射包

    集合C\bm{C}的仿射包表示为:aff C\bm{C}.
    通俗理解,仿射包就是包含集合C\bm{C}的最小的仿射集合。

    仿射维度

    将集合C\bm{C}的仿射维度定义为其仿射包的维度。

    相对内部

    通俗理解:集合C\bm{C}的相对内部,是其相对于其仿射包的内部。
    作为对比,可以说:集合CC的内部是其相对于Rn\bm{R}^n的内部。
    具体看下面的例子就明白了:

    例子

    有一个正方形的平面集合:
    C={xR31x11,1x21,x3=0}\bm{C}=\{x\in \bm{R}^3|-1\leq x_1\leq 1,-1\leq x_2\leq 1,x_3=0\}
    他的仿射包为整个平面:
    affC={xR3x3=0}\bm{C}=\{x\in \bm{R}^3|x_3=0\}
    集合C\bm{C}的内部为空;
    集合C\bm{C}的相对内部为:
    relintC={xR31x11,1x21,x3=0}\bm{C}=\{x\in \bm{R}^3|-1\leq x_1\leq 1,-1\leq x_2\leq 1,x_3=0\}

    展开全文
  • 仿射变换与透视变换

    千次阅读 2016-12-03 14:42:08
    仿射变换与透视变换是机器视觉中绕不开的几何知识之一.我以前在做相机标定的时候研究了一下,现在写出来,免得以后忘记. 1.透视变化 透视变换与透视投影密切相关.我们先来理解一下什么是透视投影,所谓透视投影,通俗...

    仿射变换与透视变换是机器视觉中绕不开的几何知识之一.我以前在做相机标定的时候研究了一下,现在写出来,免得以后忘记.

    1.透视变化

    透视变换与透视投影密切相关.我们先来理解一下什么是透视投影,所谓透视投影,通俗地讲就是"远小近大".前段时间,一张图片在网上流行.如果你明白了透视原理,就不会出现"道理我都懂,可是鸽子为什么那么大"的迷之尴尬.


    透视投影是用中心投影法,沿着一系列最终汇聚到一个被称为投影中心的的点的投影线,从而将三维世界中的点的投影变换到二维图像中.


         而透视变换是一种特定的单应性变换(这种单应性变换也称为平面单应性变换),,是基那个同一个三维物体分别投影到两个不同的投影平面下的两幅图联系起来.

    2.仿射变换

               仿射变换,有成仿射映射,是指在集合中,一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间.


    实际上,设f(x)=Ax+b为仿射变换,则A可分为四个部分:平移、旋转、缩放、扭曲。但很多资料里面单指只包含平移和旋转的变换为仿射变换。我不清楚是怎么回事。在图像处理里面,仿射变换里面也不包括扭曲变换和缩放变换。相机标定里面,我们遇到的都是刚体变换,不会发生大小的变换和扭曲的现象。

    展开全文
  • 关于仿射变换,这里不做详细介绍,这里推荐一篇文章:如何通俗地理解仿射变换 几何定位和仿射变换的一部分算子 affine_trans_(iamge,region,xld):仿射变换-作用到iamge,region、xld等都可以 vector_angle_to_...
  • 通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后...每一个字母都是通过函数(ax+ b)mod m加密,其中B是位移量,为了保证仿射密码的可逆性,a和m需要满足gcd(a ,m)=1,一般m为设置为26。
  • 我就用通俗的语言记录了。 空集、单个点和整个Rn\bm{R}^nRn空间都是Rn\bm{R}^nRn的子仿射集合(affine subsets),因此也是凸的(convex); 任何直线都是仿射的(affine)。同时如果这条直线经过原点,那么它就是一个线...
  • 仿射变换涉及大量的关于矩阵的运算,这里就不在过多讲解了,关于矩阵参考如下:http://blog.csdn.net/myan/article/details/647511 ... 仿射变换的概念:很通俗易懂https:
  • 最近需要做人脸对齐的算法,通俗理解就是将图片人人脸姿态不太正确的给矫正过来,所以写了python版本的人脸对齐算法。基本原理是先通过MTCNN检测到人脸的五个关键点,再把原图中人脸区域外扩100%(这样做的目的是...
  • 参考: 图像处理的仿射变换与透视变换(https://www.imooc.com/article/27535) ... 如何通俗地讲解「仿射变换」这个概念? 计算机视觉:算法与应用 转载于:https://www.cnblogs.com/carsonz...
  • 最近需要做人脸对齐的算法,通俗理解就是将图片人人脸姿态不太正确的给矫正过来,所以写了python版本的人脸对齐算法。基本原理是先通过MTCNN检测到人脸的五个关键点,再把原图中人脸区域外扩100%(这样做的目的是...
  • 导读 pytorch为了方便实现STN,里面封装了affine_grid和grid_sample两个高级API。对STN不太了解的同学可以...如果对图像处理有了解的同学也许听过仿射变换这个名词,我们只需要通过变换矩阵θ\thetaθ(由6个参数组成
  • 即SIFT特征提取出来的图像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性。大白话就是无论图片怎么剪裁,旋转,提取到的特征点还是那些。 二、SIFT算法...
  • 如果没有激活函数,那么神经网络的权重、偏置全是线性的仿射变(affine transformation): 这样的神经网络,甚至连下面这样的简单分类问题都解决不了: 在这个二维特征空间上,蓝线表示负面情形(y=0),绿线...
  • 关于齐次坐标的理解

    千次阅读 多人点赞 2018-10-12 14:19:46
    (https://blog.csdn.net/janestar/article/details/44244849)[第二篇:齐次坐标的理解](http://www.cnblogs.com/csyisong/archive/2008/12/09/1351372.html)[第三篇:如何通俗的解释仿射变换?]...
  • 变换与卷绕

    2019-12-12 12:41:14
    线性变换(全局卷绕的一种) 哪些变换可以用2x2矩阵表示? 注意:平移不是2D坐标上的线性运算 仿射变换 ...如何通俗地讲解「仿射变换」这个概念? 机器学习基础–math(19)–2D平面变换 ...
  • (七)变换与卷绕

    2019-11-22 12:00:07
    线性变换(全局卷绕的一种) 哪些变换可以用2x2矩阵表示? 注意:平移不是2D坐标上的线性运算 仿射变换 ...如何通俗地讲解「仿射变换」这个概念? 机器学习基础–math(19)–2D平面变换 ...
  • 提高几何变换,我们就想到了在初高中做数学题目时候的场景,应用几何变换把困难的题目化简为通俗易懂的题目,从而得到解答。 在百度上查看了一下关于几何变换的定义: 在图像处理当中,几何变换是指将一幅图像映射...
  • opencv+图像特征

    2018-06-19 14:48:16
    首先有两个问题,①为什么...通俗来讲,就是图像本身能够同其他图片进行区分的一些特征,这些特征在进行尺寸变化,或者非复杂仿射变换时依然存在的一些特征。图像特征能够解决的问题包括有识别,定位,追踪,三维重...
  • 《几何与拓扑的概念导引:现代数学基础》叙述较为细致,语言较为通俗,需要的预备知识较少,特别注意从直观的几何现象入手讲解抽象的概念,尽量介绍本学科与其他学科的关系,以便照顾更多的读者群体。《几何与拓扑的...
  • opencv系列-图像配准

    2021-01-18 21:08:04
    opencv系列-图像配准一、简介二、应用场景三、算法分类四、角点检测HarisSIFTSURF五、特征匹配六、全局配准坐标旋转变换公式的推导围绕原点的旋转坐标系的旋转绕某一点进行旋转仿射变换七、 局部配准 前言:配准方面...
  • 全书共分10章,用通俗易懂的语言由浅入深地介绍了分形几何的基本概念、分形维数的计算、分形图形的生成、分形生长模型与模拟、分形插值与模拟、随机分形以及与分形密不可分的混沌理论的基本知识。在此基础上,通过...
  • 内容新颖且简单明了,尤其是比较定理的证明采用常微不等式的方法,不同于经典的变分方法,新的证明和讨论通俗易懂、简易明畅。本书的第二部分包括第五、六和七章,分别讨论测地流、负曲率流形和正曲率流形这三大现代...
  • GNOME GTK+ 编程宝典.pdf

    千次下载 热门讨论 2012-11-19 15:28:08
    本书以大量实例,伴以通俗易懂的解释一步步教你如何构建对话框、事件、工具条及其他界面元素,以及各种小部件、窗口和多文档界面(MDI),使你的应用程序活跃在Linux桌面上。  本书适合于计算机编程人员、大专院校...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
关键字:

仿射通俗