代码之家  ›  专栏  ›  技术社区  ›  gak

将多个图像对齐为一个图像?[关闭]

  •  4
  • gak  · 技术社区  · 15 年前

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

    AdobePhotoshop可以通过它的“光能量”功能来实现这一点。

    我怎么能用编程的方式来做呢?有没有一个开源的应用程序可以做到这一点?

    2 回复  |  直到 14 年前
        1
  •  4
  •   Matt Warren    15 年前

    你想搜索 image stitching image registration 因为这些名字也是众所周知的。这个 wikipedia article 有一些有用的信息。但我只知道有商业图书馆这样做,没有任何开源的。

    这个过程的基本概要(在我所知的商业图书馆)是:

    1. 最初,您必须指定图像的大致对齐方式,即。
      • 图像A在图像B的左边,它们的重叠度小于10%。
      • 图像c在图像b的右侧,它们重叠10-20%等。
    2. 根据1)中的参数,算法将尝试在重叠区域中找到唯一的“模板”。然后它将使用 template matching 在两幅重叠图像中分别定位模板的技术。
    3. 第2)项可重复几次以给出一系列匹配位置,然后可用于提供精确匹配。

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

    有一个 feature request 将此功能添加到 AForge library ,但目前还没有完成,我也不知道目前的状况。

        2
  •  4
  •   Community CDub    8 年前

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

    accord.net框架是一个用c编写的框架,它用新的工具和库扩展了原来的aforge.net框架。

    推荐文章