同形和仿射变换

时间:2017-03-03 14:21:47

标签: opencv computer-vision terminology affinetransform homography

您好我是计算机视觉的初学者,我想知道单应性和仿射变换之间究竟有什么区别,如果您想找到两个图像之间的平移,您会使用哪个?为什么?从我在网上找到的论文和定义来看,我还没有找到它们之间的区别,而是使用了一个而不是另一个。

感谢您的帮助。

2 个答案:

答案 0 :(得分:12)

一张图片胜过千言万语: enter image description here

答案 1 :(得分:8)

我已经按照外行人的说法进行了规定。

单应

单应性是一种矩阵,它将一个图像中的给定点集映射到另一个图像中的相应点集。

单应性是3x3矩阵,其将第一图像的每个点映射到第二图像的对应点。见下文,其中H是针对点x1, y1x2, y2

计算的单应矩阵

enter image description here

考虑下面图像的点:

enter image description here

enter image description here

在上述情况下,生成了4个单应矩阵。

它在哪里使用?

  1. 您可能想要对齐上面描述的图像。您可以使用单应性进行此操作。
  2. enter image description here

    这里第二个图像相对于第一个

    进行映射
    1. 另一个应用是全景拼接
    2. 访问THIS BLOG了解更多

      仿射变换

      仿射变换生成矩阵以相对于整个图像变换图像。在单应性的情况下,它没有考虑某些要点。

      因此,在仿射变换中,线的并行性总是被保留(如EdChum所述)。

      它在哪里使用?

      它用于您想要改变整个图像的区域:

      • 轮换(自我理解)
      • 翻译(将整个图像移动一定长度为顶部/底部或左/右)
      • 缩放(基本上缩小或炸毁图像)

      有关详情,请参阅THIS PAGE