视频到全景图像

时间:2014-05-25 15:16:51

标签: opencv opencvdotnet opencv-stitching boofcv

在opencv或任何其他框架中的新功能,我有一个来自静态相机的视频我想创建一个全景图像。 我确实尝试将视频分成帧然后将所有帧拼接在一起,但它太慢了。 还有其他解决方案吗?

2 个答案:

答案 0 :(得分:3)

OpenCV中没有开箱即用的解决方案。

为了加快速度,你可以只拍摄第n帧,并希望相机的动作不会太快。

您可能会尝试深入了解stitching pieline。我不了解您的视频,但您可以执行以下操作:

如果您的视频通常包含静态相机的部件,请尝试检查是否有移动。如果没有运动,你就不能缝合。要快速检测移动,请使用缩小版本的帧,或仅使用帧的某个区域并匹配这些。

如果您知道移动的方向,您可以尝试切割图像的一部分。因此,如果相机向右移动,您可以剪切最左边的部分并仍然缝合,因为视频信息在帧与帧之间的变化应该很小。

tl; dr没有简单的方法,深入到拼接管道并根据您的源材料定制算法以获得加速

答案 1 :(得分:0)

您可以通过使用resize()函数向下插入帧来将视频分割成小图像,并且一旦缝合了总图像,就可以按相同的比例对其进行插值。

resize(input /* input image*/, result /*result image */, result.size()/*new dimensions*/, 0, 0, INTER_CUBIC/* interpolation method*/);

要了解更多插值方法,您可以查看此文档http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html#resize

即使您可以定义图像区域以检测相应的关键点