【问题标题】:Aligning multiple images into one image? [closed]将多张图像对齐到一张图像中? [关闭]
【发布时间】:2010-04-07 05:29:48
【问题描述】:

将可能具有不同旋转、曝光等但具有相同背景或其他固定参考的图像对齐在一起的好方法是什么?

Adobe Photoshop 可以通过其“Photomerge”功能做到这一点。

如何以编程方式执行此操作?是否有一个开源应用程序可以做到这一点?

【问题讨论】:

    标签: image-processing alignment template-matching image-stitching


    【解决方案1】:

    您想搜索image stitchingimage registration,因为它们也是众所周知的名称。这个wikipedia article 有一些有用的信息。但我只知道这样做的商业图书馆,而不是任何开源图书馆。

    流程的基本大纲(在我知道的商业图书馆中)是这样的:

    1. 最初您必须指定图像的粗略对齐方式,即
      • 图像 A 位于图像 B 的左侧,它们的重叠率小于 10%。
      • 图像 C 在图像 B 的右侧,它们重叠 10-20% 等。
    2. 根据 1) 中的参数,算法将尝试在重叠区域中找到唯一的“模板”。然后,它将使用template matching 技术在 2 个重叠图像中的每一个中定位模板。
    3. 项目 2) 可以重复多次以提供一系列匹配位置,然后可用于提供精确匹配。

    在第 3 步中,您还可以考虑失真,例如旋转和镜头失真。但是为了允许颜色的变化,第 2 步需要更高级(即不仅仅是基于灰度像素级别)。

    有一个feature request 可以将此功能添加到AForge library,但目前尚未完成,我不知道当前状态。

    【讨论】:

      【解决方案2】:

      更新answer by Matt Warren,有article on CodeProject explaining how automatic image stitching could be done using Accord.NET。它还解释了该过程背后的一些理论。

      Accord.NET Framework 是一个用 C# 编写的框架,它通过新工具和库扩展了原始 AForge.NET Framework。

      【讨论】:

        最近更新 更多