OpenCV:图像稳定

时间:2015-02-20 15:28:55

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

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

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

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

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

我没有图像稳定的背景,也不知道从哪里开始。非常感谢任何建议。

1 个答案:

答案 0 :(得分:5)

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

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

这里有两个版本的想法: