OpenCV:图像稳定

P3d*_*d0r 2 opencv image-processing computer-vision image-stabilization

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

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

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

有没有可以帮助处理视频的算法?

我没有图像稳定的背景,也不知道从哪里开始.将不胜感激任何建议.

Kor*_*nel 6

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

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

这里有两个版本的想法: