在opencv中对齐图像

use*_*298 12 opencv image-processing

我有相同场景的图像聚焦在不同的距离.我希望对齐图像,使每个特征在每个图像中都处于完全相同的位置.我怎么能用opencv做到这一点?

Vla*_*lad 9

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

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

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


小智 5

您可以使用openCV的图像拼接特征加工算法.

功能匹配的主要步骤是:

  • 提取功能(SURF或SIFT或其他......)
  • 匹配功能(FLANN或BruteForce ...)并过滤匹配
  • 找到几何变换(RANSAC或LMeds ......)


her*_*tao 4

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

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