OpenCV:图像稳定



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

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

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

有什么算法可以帮助处理视频吗?

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

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

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

这里有两个版本的想法:

  • http://nghiaho.com/uploads/code/videostab.cpp
  • http://nghiaho.com/uploads/videostabKalman.cpp

相关内容

  • 没有找到相关文章

最新更新