1.前言
行人检测在现代化已经必不可少,其用于监控,检测。
2.背景
传统的商场对于进进出出的人的统计伤脑筋,无从下手,有了行人检测的系统,他们只需要在后台电脑终端查看具体的行人数目,还可以截图每一张图片(虽然有侵权的嫌疑)
3.源码
#调用第三方库
import cv2 as cv
#封装函数
def get_img(img, gray):
# 特征器
hog = cv.HOGDescriptor()
# 行人检测器
hog.setSVMDetector(cv.HOGDescriptor_getDefaultPeopleDetector())
#开始训练
people, b = hog.detectMultiScale(gray,
winStride = (4, 4),
padding = (4, 4),
scale = 1.29,
useMeanshiftGrouping = False)
#循环画矩形和显示文字
for x, y, w, h in people:
cv.rectangle(img, (x, y), (x+w, y+h), (255,255,255), 2)
cv.putText(img, 'people', (x, y-5), 1, 1, (0,0,255),1)
# 输出图片
cv.imshow('out', img)
#导入图片
img = cv.imread('123.jpg')
#图片转灰
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
#进入函数
get_img(img, gray)
#暂停
cv.waitKey(0)
#销毁
cv.destroyAllWindows()
4.关于代码的细节
本代码只是简单的描述对一张图片的行人检测,触类旁通的,也可以通过打开摄像头来实现街头的行人检测。
5.结语
多敲代码!