同形和仿射变换

Mat*_*own 11 opencv terminology computer-vision homography affinetransform

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

谢谢你的帮助.

joh*_*jik 14

一张图片胜过千言万语: 在此输入图像描述


Jer*_*uke 11

我以外行人的名义把它搞定了.

单应

单应性是将一个图像中的给定点集映射到另一个图像中的对应点集的矩阵.

单应性是3×3矩阵,其将第一图像的每个点映射到第二图像的对应点.见下文,其中H是针对点x1, y1和计算的单应矩阵x2, y2

在此输入图像描述

考虑下面的图像点:

在此输入图像描述

在此输入图像描述

在上面的情况中,产生了4个单应矩阵.

在哪里使用?

  1. 您可能想要对齐上面描述的图像.您可以使用单应性来完成.

在此输入图像描述

这里第二个图像相对于第一个图像进行映射

  1. 另一个应用是全景拼接

访问此博客了解更多信息

仿射变换

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

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

在哪里使用?

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

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

有关 更多信息,请参见本页