OpenCV:如何检测视频中是不是有快速移动的物体?

Posted

技术标签:

【中文标题】OpenCV:如何检测视频中是不是有快速移动的物体?【英文标题】:OpenCV: how to detect if video has fast moving object in it?OpenCV:如何检测视频中是否有快速移动的物体? 【发布时间】:2012-05-22 16:45:35 【问题描述】:

使用 OpenCV 检测快速移动物体的最佳方法是什么?

说,我有 5 个随机视频文件:

1) 人群视频,人们走路,静态摄像机。 2) 一只猫玩球的视频,摇晃的 iPhone 相机。 3) 被采访者的视频。静态相机。 4)快速移动的汽车的动画(3D),背景模糊等。 5) 用 iPhone 摄像头拍摄的模糊视频(只是摄像头晃来晃去,什么都看不见)。

所以我想隔离video5并检测video4和video2有很多运动。

最好的方法是什么?我想使用 OpenCV2,但如果有更好的解决方案,我很乐意了解这一点。

非常感谢任何输入。伪代码或只是特定算法的建议。

谢谢

【问题讨论】:

【参考方案1】:

Optical Flow这将是检测运动的众多方法之一。

【讨论】:

如果我想通过命令行做事,这会是一个不错的选择吗?【参考方案2】:

我不知道你是否还在讨论这个问题,但我发现回答这个问题很有趣。

方法 1- 正如用户 349026 所建议的,最直观的方法之一是使用光流,它会给你带来主导运动,但光流总是伴随着噪音。在使用光流之前,您必须使用一些过滤器。

方法- 2 这很难,但效果很好。 这是来自 CVPR-2013 论文链接-http://www.irisa.fr/texmex/people/jain/w-Flow/motion_cvpr13.pdf 我认为这篇论文的刚刚介绍将解决您的问题。

【讨论】:

以上是关于OpenCV:如何检测视频中是不是有快速移动的物体?的主要内容,如果未能解决你的问题,请参考以下文章

opencv 如何检测特定形状的物体

opencv函数如何把视频图像中运动的物体给框住

检测视频中是不是存在摄像机运动以及手术视频中的移动物体

如何检测物体边框 opencv

物体检测实战:使用 OpenCV 进行 YOLO 对象检测

使用 opencv 仅检测缓慢移动的物体