5

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

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

我怎样才能以编程方式做到这一点?是否有一个开源应用程序可以做到这一点?

4

2 回答 2

5

您想搜索image stitchingimage registration因为这些是它也知道的名称。这篇维基百科文章有一些有用的信息。但我只知道这样做的商业图书馆,而不是任何开源图书馆。

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

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

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

有一个功能请求将此功能添加到AForge 库,但目前尚未完成,我不知道当前状态。

于 2010-04-07T12:42:58.230 回答
4

更新Matt Warren 的答案, CodeProject 上有一篇文章解释了如何使用 Accord.NET 完成自动图像拼接。它还解释了该过程背后的一些理论。

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

于 2010-08-05T19:10:24.760 回答