当前位置: 首页 > 面试题库 >

如何使用OpenCV检测和跟踪人员?

梁渊
2023-03-14
问题内容

我有一台固定的摄像机,指向室内区域。人们将走过相机,距离相机约5米。使用 OpenCV ,我想检测走过的人-
我的理想回报是一组检测到的具有矩形边界的人。

我看了几个内置示例:

  • 没有一个 Python 示例真正适用
  • ç 斑点跟踪样品看起来很有希望,但不接受现场视频,这使得检测困难。它也是最复杂的示例,使得提取相关知识并将其转换为有问题的Python API。
  • ç “motempl”样本也看起来很有希望,因为它计算在随后的视频帧的一个剪影。大概我可以使用它来找到强连接的组件并提取单个斑点及其边界框-但是我仍然试图找出一种方法来将在后续帧中发现的斑点识别为同一斑点。

有没有人能够提供指导或样本来做到这一点-最好是在 Python中


问题答案:

OpenCV的最新SVN版本包含(未记录)基于HOG的行人检测的实现。它甚至带有预训练的检测器和python包装器。基本用法如下:

from cv import *

storage = CreateMemStorage(0)
img = LoadImage(file)  # or read from camera

found = list(HOGDetectMultiScale(img, storage, win_stride=(8,8),
                padding=(32,32), scale=1.05, group_threshold=2))

因此,您可以只在每帧中运行检测器并直接使用其输出,而不是进行跟踪。

请参阅参考资料src/cvaux/cvhog.cpp中的实现和samples/python/peopledetect.py更完整的python示例(均在OpenCV源代码中)。



 类似资料:
  • 本文向大家介绍使用OpenCV实现检测和追踪车辆,包括了使用OpenCV实现检测和追踪车辆的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了OpenCV实现检测和追踪车辆的具体代码,供大家参考,具体内容如下 完整源码GitHub 使用高斯混合模型(BackgroundSubtractorMOG2)对背景建模,提取出前景 使用中值滤波去掉椒盐噪声,再闭运算和开运算填充空洞 使用cvBlo

  • 问题内容: 我可以使用Python中的OpenCV从网络摄像头获取帧。camshift示例接近我想要的,但是我不希望人工干预来定义对象。我想获得在几帧的过程中变化的总像素的中心点,即运动对象的中心。 问题答案: 我已经从博客文章 使用OpenCV进行运动检测中 找到的C版本的代码转换了一些工作代码:

  • (我想一个选择是重新修改我们的Feign接口,使其具有@feignclient,并重新修改所有自定义拦截器、编码器等的应用方式,但最终这可能是一项很大的工作,风险也很大。) 我是否需要做一个特殊的请求拦截器来手动地注入这些(例如,从一个自动连线的跟踪器)?有没有一种干净的方法(或现有的类)来做到这一点?

  • 主要内容:第1步:加载OpenCV本机库,第2步:实例化CascadeClassifier类,步骤3:检测脸部包的类包含使用系统摄像头捕获视频的类和方法。 让我们来看看它是如何做到这一点。 第1步:加载OpenCV本机库 在使用OpenCV库编写Java代码时,需要做的第一步是使用加载OpenCV本地库。加载OpenCV本机库,如下所示。 第2步:实例化CascadeClassifier类 包的类用于加载分类器文件。 通过传递xml文件来实例化这个类,如下所示。 步骤3:检测脸部 可以使用类的方

  • 本文向大家介绍使用OpenCV在Python中进行人脸和眼睛检测,包括了使用OpenCV在Python中进行人脸和眼睛检测的使用技巧和注意事项,需要的朋友参考一下 使用的模块: python-opencv(cv2) Opencv(Open source computer vision) 是一个python库,可帮助我们解决计算机视觉问题。 下载python-opencv(cv2) 通用方式:pip

  • 以下程序演示如何使用系统相机检测脸部并使用JavaFX窗口显示脸部。 参考以下示例代码 - 执行上面示例代码,得到以下结果 - 系统提示:头像太丑,无法显示…