【问题标题】:OpenCV: image stabilizationOpenCV:图像稳定
【发布时间】:2015-02-20 15:28:55
【问题描述】:

我正在尝试在 OpenCV 中发布处理视频。由于我的相机不是固定的(必须是移动的),因此生成的视频由于振动和平移而非常抖动。因此,我尝试查看的每一帧都有模糊,如果它甚至可以检测到一些模糊图像,这将使我的检测不太准确。

我在网上搜索了一下,似乎有很多关于用陀螺仪补偿相机运动的讨论。

有没有相机可以帮助解决这个问题?我一直在使用 GoPro。

是否有任何算法可以帮助处理视频?

我没有图像稳定方面的背景,也不知道从哪里开始。希望有任何建议。

【问题讨论】:

  • 陀螺仪是测量设备。您需要使用陀螺仪拍摄视频才能使用其中的数据。我建议你使用某种对象机架或光流来做到这一点,但我完全不知道最先进的稳定算法。
  • @AnderBiguri - 是的,我意识到这一点。这就是为什么我要了解有哪些算法选项,因为我没有陀螺仪可以使用。我会研究光流,谢谢!
  • 谢谢大卫,我将开始阅读这些内容。

标签: opencv image-processing computer-vision image-stabilization


【解决方案1】:

图像稳定算法通常工作如下:

  • 查找从前一帧到当前帧的转换(通常对所有帧使用光流)。变换由一些参数组成,例如dx(沿水平方向的移动)、dy(垂直)、da(旋转角度)。基本上它是一个刚性欧几里得变换,没有缩放也没有共享。
  • 累积变换以获得每帧 x、y、角度的“轨迹”。
  • 使用滑动平均窗口平滑轨迹。用户定义窗口半径,其中半径是用于平滑的帧数。
  • 创建一个新的转换,这样new_transformation = transformation + (smoothed_trajectory – trajectory)
  • 对图像序列应用新的变换

这里你有这个想法的两个版本:

【讨论】:

    猜你喜欢
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    相关资源
    最近更新 更多