视频图像分析-检测快速运动/忽略缓慢运动



我希望在iPhone上捕获视频,并在识别快速运动时启动捕获,并在检测到慢动作或没有运动时停止。

下面是一个用例来说明:

  1. 如果有人拿着iPhone相机,没有背景运动,但他的手不稳定,慢慢地向左/向右/向上/向下移动,这个动作应该被认为是缓慢的。
  2. 如果有人快速跑进相机视野,这将被认为是快速移动的记录。
  3. 如果有人慢慢走进相机的视野,这将被认为是缓慢的,不应该被拾取。

我正在考虑OpenCV,并认为它可能过度使用他们的运动检测和光流算法。我正在考虑通过直接访问图像像素的轻量级方法,也许可以检查亮度/亮度级别的变化。

我只需要处理30-40%的视频帧区域的运动(例如屏幕的上半部分),也许可以拿起每一个其他像素来处理。轻量级算法的原因是它需要非常快<4ms,因为它将以高帧率处理传入的视频缓冲帧。

欣赏通过直接检查图像像素来替代图像处理/快速运动检测例程的任何想法。

  1. 密集光流如calcOpticalFlowFarneback

  2. 使用运动历史

    2.1 updateMotionHistory(sil, mhi, timestamp, MHI_DURATION);

    2.2 calcMotionGradient(mhi, mask, orient, MAX_TIME_DELTA, MIN_TIME_DELTA…

    2.3 segmentMotion(mhi, segment, regions, timestamp, MAX_TIME_DELTA);

    2.4 calcGlobalOrientation(orient_roi, mask_roi, mhi_roi,…)

相关内容

  • 没有找到相关文章

最新更新