如何计算二值图像配准的二维位移矢量?

信息处理 图像处理 图像配准 形态操作
2021-12-19 21:35:49

我的输入是几个二进制图像,例如:第一个要注册的二进制图像要注册的第二个二进制图像

它们在全球范围内具有相同的内容,但可能未注册,因为它们是由手持相机制作的。我想计算的是从第一张图像到第二张图像的 2D 位移矢量。我使用 OpenCV,我的第一次尝试是计算特征点(SURF 算法)和两个图像之间的仿射变换。但是当然,二值图像上的特征描述有点差,因此匹配很困难,匹配图也很不准确。

有谁知道我该怎么做?

1个回答

我有点惊讶特征点不能很好地工作。我已经成功注册了像你这样的形状

  • 哈里斯指出,这是一个角点检测器,结合了 RANSAC 算法。请参阅wikiPeter Kovesi他的网站
  • 在特征检测之前使用像 SURF 或 SIFT 这样的特征检测器与图像的边缘图相结合,然后进行某种形式的鲁棒匹配。

编辑

我用 matlab 试了一下,并在这个主题上尝试了一些变化。目前我使用

  • 来自边缘图的 SIFT 特征以确定旋转和缩放,尽管它​​们在您提供的图像之间非常小
  • RANSAC 用于稳健匹配
  • 互相关以确定两个图像之间的转换

稳健的比赛 注册前 注册后

来源在github 上

RANSAC 的替代方案可能是 SIFT 的发明者 David Lowe 提出的 Hough 变换投票/分箱方法。