在opencv中对齐图像
image-processing
opencv
5
0

我有同一场景的图像聚焦在不同的距离。我想对齐图像,以使每个特征在每个图像中的位置都完全相同。我如何使用opencv做到这一点?

参考资料:
Stack Overflow
收藏
评论
共 3 个回答
高赞 时间 活跃

基本思想是基于图像的匹配特征点对图像及其在X和Y方向的2D平移进行平面内旋转。

查看图像对齐算法 ,您可以找到两种使用OpenCV(带有代码)进行此操作的方法。

收藏
评论

您可以使用图像拼接或openCV的特征匹配算法。

特征匹配的主要步骤是:

  • 提取特征(SURF或SIFT或其他...)
  • 匹配特征(FLANN或BruteForce ...)并过滤匹配
  • 查找几何变换(RANSAC或LMeds ...)
收藏
评论

首先,您要确定图像之间的转换。它可以像移位一样简单,也可以像非线性扭曲一样复杂。聚焦操作不仅可以移动,而且可以略微缩放甚至剪切图像。在这种情况下,您必须使用Homography进行匹配。

其次,您必须尝试的最简单方法是手动选择至少4个巴黎对应点,记录其坐标并将其输入到findHomography()函数中。可以在warpPerspective()中使用生成的3x3转换来匹配图像。如果结果良好,则可以通过使用SURF点并匹配其描述符来自动化查找对应关系的过程。

最后,如果结果不令人满意,则必须比单应性进行更一般的转换。我会尝试逐段仿射尝试分别匹配图像片段。无论如何,有关您的输入和最终目标的更多信息将有助于正确解决问题。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号