我正在使用 OpenCV 2.4 将视频转换为长(窄)马赛克。这是我第一次使用 OpenCV,但到目前为止,我已经成功地管理了以下内容:
- 从视频中获取帧。
- 使用 SIFT 获取关键点描述符。
- 使用 RANSAC 对异常值进行排序
- 求单应矩阵。
问题是当我将单应矩阵应用于其中一个帧/图像并尝试生成马赛克时。有时我收到一个错误,抱怨 warpPerspective() 的目标矩阵的大小太小。为了解决这个问题,我猜测尺寸过大以确保结果适合。但是,在将帧副本连接在一起后,我有一个大部分是黑色的巨大图像。所以我的问题是,我怎样才能以一种聪明的方式做到这一点?在将马赛克传递给 warpPerspective() 之前,如何计算我需要的目标矩阵的大小?我一直在尝试使用 ROI/Rect,但我不确定我在做什么。
如果您有任何建议,我将永远感激不尽。