如何检测和捕捉录制视频中的场景变化

信息处理 运动检测
2022-02-23 20:48:10

我有一个项目来检测和捕捉录制视频中的场景变化。实际上它是一个仓库的录制视频(大约 2 周),每当有人进来时,我都必须检测和捕捉图片。

我试过vlc播放器运动检测器。它可以很好地检测到变化,但不会捕获检测到的场景。有什么方法可以帮助吗?

谢谢并恭祝安康

4个回答

您可以将低等级模型用于视频背景减法作为预处理。
一旦你忽略了背景,即使是简单的方法也可以识别任何运动。

假设

您需要一个简单的解决方案,该解决方案不需要太多计算,并且易于用多种语言实现。

建议的解决方案

你可以简单地

  • 减去连续图像(即时间推导)。或者,如果您担心检测慢动作,请减去相隔几秒钟的图像。
  • 将生成的图像平方
  • 对所有像素求和

如果不存在运动,则两个连续图像非常相似。因此,您将在来自噪声的所有像素的总和中始终保持较低的值。

如果有运动,您将在所有像素的总和中出现一个峰值。

您也可以通过直方图执行相同的操作:如果您的图像发生变化,直方图可能会发生变化。

我假设您正在谈论视频类型,例如监控和场景切换检测。我可以想到两种方法:

(一种)

  • 做一个两帧的DCT进行比较,
  • 每帧低通滤波器,
  • 将帧彼此相减,
  • 查看剩余的内容(如果需要,使用阈值)。

(乙)

如果您能够解码视频,则可以查看帧结构,计算两帧之间每个像素的字节梯度。请注意,大小取决于帧类型。

一些闭路电视摄像机具有仅在运动发生时记录的功能。

如果您想自己完成项目,请查看监控记录
本例使用 Matlab 检测视频中的运动能量。然后程序只记录有趣的帧。您可以设置所需的最小运动阈值。