采用非极大值抑制,将重叠的框合并成一个。

  1. # import the necessary packages
  2. from imutils.object_detection import non_max_suppression
  3. import numpy as np
  4. import imutils
  5. import cv2
  6.  
  7. # initialize the HOG descriptor/person detector
  8. hog = cv2.HOGDescriptor()
  9. hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
  10. cap = cv2.VideoCapture('img/test.mp4')
  11.  
  12. # load the image and resize it to (1) reduce detection time
  13. # and (2) improve detection accuracy
  14. while True:
  15. ret, image = cap.read()
  16. # image = cv2.imread('img/test5.jpg')
  17. image = imutils.resize(image, width=min(400, image.shape[1]))
  18. orig = image.copy()
  19.  
  20. # detect people in the image
  21. (rects, weights) = hog.detectMultiScale(
  22. image, winStride=(4, 4), padding=(8, 8), scale=1.05
  23. )
  24.  
  25. # draw the original bounding boxes
  26. # for (x, y, w, h) in rects:
  27. # cv2.rectangle(orig, (x, y), (x + w, y + h), (0, 0, 255), 2)
  28.  
  29. # # apply non-maxima suppression to the bounding boxes using a
  30. # # fairly large overlap threshold to try to maintain overlapping
  31. # # boxes that are still people
  32. # rects = np.array([[x, y, x + w, y + h] for (x, y, w, h) in rects])
  33.  
  34. pick = non_max_suppression(rects, probs=1, overlapThresh=0.15)
  35. # draw the final bounding boxes
  36. for (xA, yA, xB, yB) in pick:
  37. cv2.rectangle(image, (xA, yA), (xB, yB), (0, 255, 0), 2)
  38.  
  39. # show the output images
  40. # cv2.imshow("Before NMS", orig)
  41. cv2.imshow("After NMS", image)
  42. if cv2.waitKey(1) & 0xFF == ord("q"):
  43. break

  

opencv python运动人体检测的更多相关文章

  1. OpenCV + python 实现人脸检测(基于照片和视频进行检测)

    OpenCV + python 实现人脸检测(基于照片和视频进行检测) Haar-like 通俗的来讲,就是作为人脸特征即可. Haar特征值反映了图像的灰度变化情况.例如:脸部的一些特征能由矩形特征 ...

  2. 手把手教你如何用 OpenCV + Python 实现人脸检测

    配好了OpenCV的Python环境,OpenCV的Python环境搭建.于是迫不及待的想体验一下opencv的人脸识别,如下文. 必备知识 Haar-like Haar-like百科释义.通俗的来讲 ...

  3. opencv python:直线检测 与 圆检测

    霍夫直线变换介绍 霍夫圆检测 现实中: example import cv2 as cv import numpy as np # 关于霍夫变换的相关知识可以看看这个博客:https://blog.c ...

  4. Opencv+Python实现缺陷检测

    实验七.缺陷检测 一. 题目描述 ​ 对下面的图片进行缺陷检测操作,请详细地记录每一步操作的步骤. ​ 第一站图片是标准样品,后面几张图中有几个样品有瑕疵,需要你通过计算在图片上显示出哪张是合格,哪张 ...

  5. opencv+python实时人脸检测、磨皮

    import numpy as np import cv2 cap = cv2.VideoCapture(0) face_cascade = cv2.CascadeClassifier("d ...

  6. OpenCV 使用光流法检测物体运动

    OpenCV 可以使用光流法检测物体运动,贴上代码以及效果. // opticalflow.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" ...

  7. 利用opencv进行移动物体检测

    进行运动物体检测就是将动态的前景从静态的背景中分离出来.将当前画面与假设是静态背景进行比较发现有明显的变化的区域,就可以认为该区域出现移动的物体.在实际情况中由于光照阴影等因素干扰比较大,通过像素直接 ...

  8. OpenCV例程实现人脸检测

    前段时间看的OpenCV,其实有很多的例子程序,参考代码值得我们学习,对图像特征提取三大法宝:HOG特征,LBP特征,Haar特征有一定了解后. 对本文中的例子程序刚开始没有调通,今晚上调通了,试了试 ...

  9. OpenCV Python教程(3、直方图的计算与显示)

    转载请详细注明原作者及出处,谢谢! 本篇文章介绍如何用OpenCV Python来计算直方图,并简略介绍用NumPy和Matplotlib计算和绘制直方图 直方图的背景知识.用途什么的就直接略过去了. ...

随机推荐

  1. day6 作业 购物车

  2. JavaScript中的变量定义和声明

    变量声明旨在分配内存,定义为这个分配的内存分配一个值.

  3. lvextend 扩容后, df -h 看到的却还是原来的大小

    [root@stb ~]# df -hFilesystem                  Size  Used Avail Use% Mounted on/dev/mapper/vg_stb-lv ...

  4. nodejs,webpack安装以及初步运用

    nodejs安装: 1.下载:https://nodejs.org/en/download/ 2.安装node-v6.11.3-x64.msi文件,直接默认安装(next……): 3.验证是否完成安装 ...

  5. 3.8.1 HTML与CSS简单页面效果实例

    HTML与CSS简单页面效果实例 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  6. css 盒子模型应用

    盒子模型应用 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...

  7. 082、Java数组之数组传递之简化理解

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

  8. CF755G PolandBall and Many Other Balls 题解

    从神 Karry 的题单过来的,然后自己瞎 yy 了一个方法,看题解区里没有,便来写一个题解 一个常数和复杂度都很大的题解 令 \(dp_{i,j}\) 为 在 \(i\) 个球中选 \(j\) 组的 ...

  9. SQL注入的原理及分析

    注入攻击的本质:将用户输入的数据当做代码执行. 有2个限制条件: 1.用户能够控制输入. 2.原本程序要执行的代码,拼接了用户输入的数据后进行执行. 定义:用户输入的数据被当做SQL语句执行. 以下面 ...

  10. SciPy 线性代数

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...