资源简介
基于python语言的opencv行人检测,通过OpenCV自带的HOG+SVM行人检测器图片中的行人,并根据界面提示按钮,选择相应的操作。
代码片段和文件信息
# import the necessary packages
from __future__ import print_function #确保代码同时在Python2.7和Python3上兼容
from imutils.object_detection import non_max_suppression
from imutils import paths
import numpy as np
import argparse
import imutils #安装库pip install imutils ;pip install --upgrade imutils更新版本大于v0.3.1
import cv2
# construct the argument parse and parse the arguments
ap = argparse.ArgumentParser()
ap.add_argument(“-i“ “--images“required=True help=“path to images directory“)
# args = vars(ap.parse_args())
# 初始化我们的行人检测器
hog = cv2.HOGDescriptor() #初始化方向梯度直方图描述子
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector()) #设置支持向量机(Support Vector Machine)使得它成为一个预先训练好了的行人检测器
#到这里,我们的OpenCV行人检测器已经完全载入了,我们只需要把它应用到一些图像上
#---------------------------------------------------------------------------------------------------------
image_Path=“./images“;
# loop over the image paths
for imagePath in paths.list_images(image_Path): #args[“images“]
# load the image and resize it to (1) reduce detection time
# and (2) improve detection accuracy
image = cv2.imread(imagePath)
image = imutils.resize(image width=min(400 image.shape[1]))
orig = image.copy()
‘‘‘
构造了一个尺度scale=1.05的图像金字塔,以及一个分别在x方向和y方向步长为(44)像素大小的滑窗
scale的尺度设置得越大,在图像金字塔中层的数目就越少,相应的检测速度就越快,但是尺度太大会导致行人出现漏检;
同样的,如果scale设置得太小,将会急剧的增加图像金字塔的层数,这样不仅耗费计算资源,而且还会急剧地增加检测过程
中出现的假阳数目(也就是不是行人的被检测成行人)。这表明,scale是在行人检测过程中它是一个重要的参数,
需要对scale进行调参。我会在后面的文章中对detectMultiScale中的每个参数做些调研。
‘‘‘
# detect people in the image:
(rects weights) = hog.detectMultiScale(image winStride=(4 4)
padding=(8 8) scale=1.05)
# draw the original bounding boxes
for (x y w h) in rects:
cv2.rectangle(orig (x y) (x + w y + h) (0 0 255) 2)
# apply non-maxima suppression to the bounding boxes using a
# fairly large overlap threshold to try to maintain overlapping
# boxes that are still people
#应用非极大抑制方法,通过设置一个阈值来抑制那些重叠的边框
rects = np.array([[x y x + w y + h] for (x y w h) in rects])
pick = non_max_suppression(rects probs=None overlapThresh=0.65)
# draw the final bounding boxes
for (xA yA xB yB) in pick:
cv2.rectangle(image (xA yA) (xB yB) (0 255 0) 2)
# show some information on the number of bounding boxes
filename = imagePath[imagePath.rfind(“/“) + 1:]
print(“[INFO] {}: {} original boxes {} after suppression“.format(
filename len(rects) len(pick)))
# show the output images
cv2.imshow(“Before NMS“ orig)
cv2.imshow(“After NMS“ image)
cv2.waitKey(0)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-03-01 17:56 PedestrianDetection\
目录 0 2019-03-01 17:56 PedestrianDetection\.idea\
文件 183 2018-01-21 14:41 PedestrianDetection\.idea\misc.xm
文件 290 2018-01-21 14:40 PedestrianDetection\.idea\modules.xm
文件 455 2018-01-21 14:41 PedestrianDetection\.idea\PedestrianDetection.iml
文件 10650 2018-01-22 09:32 PedestrianDetection\.idea\workspace.xm
文件 39 2018-12-18 18:04 PedestrianDetection\1.txt
文件 3361 2018-12-10 19:27 PedestrianDetection\detect.py
目录 0 2018-12-18 18:07 PedestrianDetection\image\
目录 0 2019-03-01 17:56 PedestrianDetection\images\
文件 98918 2018-12-18 17:41 PedestrianDetection\images\person_1.jpg
文件 23582 2018-12-18 17:40 PedestrianDetection\images\person_10.jpg
文件 150943 2018-12-18 17:56 PedestrianDetection\images\person_11.jpg
文件 921654 2003-05-20 13:43 PedestrianDetection\images\person_12.bmp
文件 921654 2003-05-20 13:43 PedestrianDetection\images\person_13.bmp
文件 204593 2018-12-18 17:58 PedestrianDetection\images\person_14.jpeg
文件 103383 2018-12-18 18:00 PedestrianDetection\images\person_15.jpeg
文件 921654 2003-05-20 13:43 PedestrianDetection\images\person_16.bmp
文件 921654 2003-05-20 13:43 PedestrianDetection\images\person_2.bmp
文件 22728 2018-12-18 17:53 PedestrianDetection\images\person_220.jpg
文件 921654 2003-05-20 13:37 PedestrianDetection\images\person_221.bmp
文件 921654 2003-05-20 13:43 PedestrianDetection\images\person_3.bmp
文件 921654 2003-05-20 13:43 PedestrianDetection\images\person_302.bmp
文件 921654 2003-05-20 13:44 PedestrianDetection\images\person_390.bmp
文件 945906 2018-12-18 17:47 PedestrianDetection\images\person_4.JPG
文件 37042 2018-12-18 17:46 PedestrianDetection\images\person_5.jpg
文件 71234 2018-12-18 17:47 PedestrianDetection\images\person_6.jpg
文件 83034 2018-12-18 17:36 PedestrianDetection\images\person_7.jpg
文件 30150 2018-12-18 17:50 PedestrianDetection\images\person_8.jpg
文件 921654 2003-05-20 13:43 PedestrianDetection\images\person_9.bmp
文件 3511 2018-12-18 18:06 PedestrianDetection\unti
............此处省略0个文件信息
相关资源
- 从零基础开始用Python处理Excel数据.p
- Python Crash Course 原版PDF by Matthes
- Python Pocket Reference 5th 原版PDF by Lut
- Deep Learning with Python 原版PDF by Choll
- python requests官方中文文档 高级用法
- python实现游戏外星人入侵
- python建站django框架的简单学习代码
- wxPython使用教程
- 常用数据挖掘算法总结及Python实现 文
- geckodriver-v0.23.0-win64
- [强烈推荐]Deep Learning with Python - A Ha
- Python基础教程第3版中文版pdf清晰版,
- Python编程:从入门到实践高清版.zip
- PyWin32手册适配Python3.7最新版
- python编程简单笔试题
- 贝叶斯网络工具箱-Python
- hands-recommendation-systems-python
- Flask Web开发 基于Python的Web应用开发实
- (updated20180308)Django-erp for python3 an
- Django-erp for python3 and django1.11
- 第11讲--scipy-数据处理应用.pdf
- 常用数据挖掘算法总结及Python实现(
- 树莓派与Python学习一
- python爬虫爬取杭州市幼儿园信息
- Python学习课件
- Python Requests Essentials 2015
- 数据挖掘中的距离度量和相似度度量
- Python绝技中文版及源代码
- PYTHON自然语言处理【中文版】110353
- Python练习集100题.pdf
评论
共有 条评论