我正在使用OpenCV 2.4将视频转换为长(窄)马赛克。这是我第一次使用OpenCV,但到目前为止,我已经成功完成了以下任务:
问题是当我将单应矩阵应用于其中一个帧/图像并尝试生成马赛克时。有时我得到一个错误,抱怨warpPerspective()的目标矩阵的大小太小。为了解决这个问题,我想要一个过大的尺寸,以确保结果适合。但是,在将一个帧的副本连接在一起后,我有一个巨大的图像,大部分是黑色的。所以我的问题是,我怎样才能以聪明的方式做到这一点?在将其传递给warpPerspective()之前,如何计算马赛克所需的目标矩阵的大小?我一直在尝试使用ROI / Rect,但我不确定我在做什么。
如果您有任何建议,我将永远感激。
答案 0 :(得分:1)
将单应矩阵应用于表示图像帧末端的点:(0,0,1); (w,0,1)等。这些将为您提供新图像的界限。