使用openCV进行成像拼接 - 最终阶段难度

时间:2012-10-22 22:19:23

标签: opencv homography image-stitching

我正在使用OpenCV 2.4将视频转换为长(窄)马赛克。这是我第一次使用OpenCV,但到目前为止,我已经成功完成了以下任务:

  1. 从视频中获取相应内容。
  2. 使用SIFT获取关键点描述符。
  3. 使用RANSAC
  4. 对异常值进行排序
  5. 找出单应矩阵。
  6. 问题是当我将单应矩阵应用于其中一个帧/图像并尝试生成马赛克时。有时我得到一个错误,抱怨warpPerspective()的目标矩阵的大小太小。为了解决这个问题,我想要一个过大的尺寸,以确保结果适合。但是,在将一个帧的副本连接在一起后,我有一个巨大的图像,大部分是黑色的。所以我的问题是,我怎样才能以聪明的方式做到这一点?在将其传递给warpPerspective()之前,如何计算马赛克所需的目标矩阵的大小?我一直在尝试使用ROI / Rect,但我不确定我在做什么。

    如果您有任何建议,我将永远感激。

1 个答案:

答案 0 :(得分:1)

将单应矩阵应用于表示图像帧末端的点:(0,0,1); (w,0,1)等。这些将为您提供新图像的界限。