opencv函数如何把视频图像中运动的物体给框住
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv函数如何把视频图像中运动的物体给框住相关的知识,希望对你有一定的参考价值。
需要用到背景建模来做运动跟踪,然后提取ROI,画矩形即可。追问是用到opencv函数去处理吗
追答是的,最好用opencv,因为opencv自带了很多图像处理的函数。
参考技术A 高斯背景建模,提取出前景图像,形态学处理取出小的噪声干扰,查找轮廓,画出最小外接矩。网上百度一下很多代码。追问用到的是什么函数去处理呀,刚刚才开始学,很多不懂~
OpenCV:如何检测视频中是不是有快速移动的物体?
【中文标题】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函数如何把视频图像中运动的物体给框住的主要内容,如果未能解决你的问题,请参考以下文章
JAVA 图像处理基于OpenCv与JVM-----图像物体高亮显示(掩膜)
JAVA 图像处理基于OpenCv与JVM-----图像物体高亮显示(掩膜)