opencv中的快速运动检测

Posted

技术标签:

【中文标题】opencv中的快速运动检测【英文标题】:Quick motion detection in opencv 【发布时间】:2011-03-18 17:43:33 【问题描述】:

我想在跟踪之前快速检测运动,两帧之间的 absDiff() (或 cmpS() )是否足以实现这一点,还是我应该考虑更多?请记住,我对视觉处理和 opencv 完全陌生 :)

谢谢

【问题讨论】:

【参考方案1】:

如果要检测特定对象的运动,则需要“连接组件”计算。参考http://www.bukisa.com/articles/263221_connected-components-using-opencv

【讨论】:

我正在寻找视野中的事件运动,不是针对特定对象,而是针对任何穿过 FoV 的对象。【参考方案2】:

'Learning OpenCV: Computer Vision with the OpenCV Library' 书的第 9 章有一个很好的解释。根据您的场景(室内/室外、照明条件等),算法的学习阶段包括在缓冲区中累积帧之间的差异,然后使用形态学运算过滤结果以消除噪声。或者,当基本 cvAbsDiff 检测到虚假运动时,您可以实现稍微复杂一点的“码本”算法。

源代码可在 OReilly 的网站上找到。

【讨论】:

【参考方案3】:

没有快速简便的方法。我正在尝试的方法是随着时间的推移构建背景图像,减去不属于背景的任何前景,然后在前景对象上放置一个 roi。

【讨论】:

以上是关于opencv中的快速运动检测的主要内容,如果未能解决你的问题,请参考以下文章

opencv运动车里检测跟踪轨迹不对

使用 OpenCV 进行运动检测

Python调用OpenCV实现摄像头的运动检测[树莓派版]

OpenCV BackgroundSubtractor Android 运动检测器错误

使用opencv进行运动检测时出错

动态背景视频流中的运动/变化检测