【问题标题】:How to align two different pictures in such a way, that they match as close as possible?如何以这样的方式对齐两张不同的图片,使它们尽可能接近?
【发布时间】:2011-02-23 22:10:39
【问题描述】:

我需要自动将图像 B 与另一张图像 A 对齐,以使图像的内容尽可能匹配。 p>

图像可以在 x/y 方向上移动并在 z 方向上最多旋转 5 度,但它们不会失真(即缩放或梯形失真)。

也许有人可以推荐一些关于这个主题的好链接或书籍,或者分享一些想法如何完成这样的图像对齐。

如果没有旋转问题,那么我可以简单地尝试用蛮力方法比较像素行,直到找到匹配项,然后我知道偏移量并可以对齐图像。

我需要人工智能吗?

我很难找到有关图像处理的资源,这些资源详细介绍了这些对齐算法的工作原理。

【问题讨论】:

  • 我不知道这个问题的答案,但我认为如果你澄清“尽可能好”的意思可能会有所帮助——“好”是什么意思?
  • 一个有趣的问题!除了@Mehrdad 要求您指定“好”之外,您将对齐多少张图像/您期望什么样的运行时间?
  • @BugAlert:此外,图像是否保证完全可对齐(例如,它们是否保证相同但只是线性变换),或者它们只是在某些方面“相似”(例如它们可以不同吗?由人工制品等)?
  • @BugAlert:要搜索的关键字是“图像注册”。那里有几个图书馆,网上有很多信息。
  • Convolution,可以使用Fast Fourier Transform 非常有效地实现,可用于检测一张图片必须移动多少(在 x/y 方向)才能匹配另一张图片尽可能密切。由于它不需要完全匹配,并且角度限制仅为 5 度,因此可能就足够了 - 否则,您可以运行多次迭代,例如1 度增量。

标签: image-processing artificial-intelligence


【解决方案1】:

因此,在这种情况下,人们通常会首先在图像中找到匹配的点,然后使用最小二乘法计算最佳变换矩阵。点匹配并不是特别简单,而且通常你只是使用人工输入来完成这项任务,你必须一直这样做来校准相机。无论如何,如果你想完全自动化这个过程,你可以使用feature extraction 技术来找到匹配点,有大量关于这个主题的研究论文,任何standard computer vision text 都会有一个关于这个的章节。一旦你有 N 个匹配点,求解最小二乘变换矩阵就非常简单了,同样,它可以在任何计算机视觉文本中找到,所以我假设你已经掌握了。

如果您不想找到点对应关系,您可以使用最速下降直接优化旋转和平移,问题是这是非凸的,因此无法保证您会找到正确的变换。您可以在此基础上进行随机重启或模拟退火或任何其他全局优化技巧,这很可能会奏效。我找不到任何关于这个问题的参考资料,但它基本上是一种数字图像稳定算法,我在学习计算机视觉时必须实现它,但那是很多年前的事了,here are the relevant slides 不过,看看“重新审视稳定”。是的,我知道那些幻灯片很糟糕,我没有制作它们 :) 但是,确定梯度的方法非常优雅,因为有限差分显然难以处理。

编辑:我终于找到了关于如何做到这一点的论文here,这是一篇非常棒的论文,它很好地解释了 Lucas-Kanade 算法。此外,this site 有很多关于图像对齐的材料和源代码,可能会有用。

【讨论】:

  • 最后一个链接坏了。想看看它是什么网站
【解决方案2】:

为了将两张图像对齐在一起,您必须执行图像配准技术。 在 matlab 中,编写用于图像配准的函数,并使用“控制点选择工具”选择您想要的特征以供参考,称为“特征点”以注册图像。 在 matlab 帮助窗口中阅读有关图像配准的更多信息以正确理解。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 2019-11-02
    • 1970-01-01
    • 2016-07-13
    相关资源
    最近更新 更多