如何在opencv中找到图像之间的重叠区域?
我正在尝试用两幅图像实现alpha混合以进行图像拼接。 我的第一张图片是-> 这是我的第二张图片-> 这是我的结果图片->如何在opencv中找到图像之间的重叠区域?,c,image-processing,opencv,computer-vision,C,Image Processing,Opencv,Computer Vision,我正在尝试用两幅图像实现alpha混合以进行图像拼接。 我的第一张图片是-> 这是我的第二张图片-> 这是我的结果图片-> 正如你所看到的,结果是不正确的。我想我必须首先找到两者之间的重叠区域,然后在重叠部分上实现alpha混合。首先,你看到OpenCV 2.3中引入的新“缝合”模块了吗 它提供了一组用于缝合管道的构建块,包括混合和“查找重叠”(例如注册)步骤。以下是一个文档:和一个缝合应用程序示例: 我建议您研究这个示例的代码,以便更好地理解细节 关于重叠的发现,计算机视觉中有几种常见的
正如你所看到的,结果是不正确的。我想我必须首先找到两者之间的重叠区域,然后在重叠部分上实现alpha混合。首先,你看到OpenCV 2.3中引入的新“缝合”模块了吗 它提供了一组用于缝合管道的构建块,包括混合和“查找重叠”(例如注册)步骤。以下是一个文档:和一个缝合应用程序示例: 我建议您研究这个示例的代码,以便更好地理解细节 关于重叠的发现,计算机视觉中有几种常见的方法:
- 光流
- 模板匹配
- 特征匹配
对于你的情况,我推荐最后一个——它在照片上效果很好。这种方法已经在OpenCV中实现了——探索OpenCV源代码,看看
cv::detail::Best2nearestMatcher
是如何工作的。我认为最常用的方法是筛选,在两幅图像中找到几个关键点,然后扭曲它们以获得结果。看
是关于SIFT和全景拼接的解释。“图像配准”是计算机视觉领域的另一个可能有用的术语;它指的是对齐多个重叠图像的过程。我真的,真的很想知道你会如何在这里使用光流?!光流应该作用于一系列图像。。。