【问题标题】:Video to panorama image视频转全景图
【发布时间】:2014-06-03 23:13:52
【问题描述】:

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

【问题讨论】:

    标签: opencv opencvdotnet opencv-stitching boofcv


    【解决方案1】:

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

    为了加快速度,您可以只拍摄每第 n 帧,并希望摄像师不要移动得太快。

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

    如果您的视频中经常出现带有静止摄像头的部分,请尝试检查是否有移动。如果没有运动,你就不必缝合。要快速检测运动,请使用缩小版的帧,或仅帧的一个区域并匹配这些。

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

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

    【讨论】:

    • 您是否碰巧知道现在有更好的选择,还是这种方法仍然是最快的?
    【解决方案2】:

    您可以通过使用 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

    您甚至可以定义图像的一个区域来检测相应的关键点

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-25
      • 2012-03-07
      • 2021-05-23
      • 2016-10-24
      • 2019-04-07
      • 2017-10-29
      相关资源
      最近更新 更多