简单行人检测

5 篇文章 0 订阅
5 篇文章 0 订阅

简单行人检测

import datetime
import cv2 as cv
import numpy as np

# initialize the HOG descriptor/person detector
hog = cv.HOGDescriptor()
hog.setSVMDetector(cv.HOGDescriptor_getDefaultPeopleDetector())

capture = cv.VideoCapture(0)
ret , image_base  = capture.read()
(h,w) = image_base.shape[:2]
while(ret):
    ret, image_now = capture.read()
    if cv.waitKey(1) == ord('q'):
        break
    # detect people in the image
    start = datetime.datetime.now()

    image = cv.absdiff(image_now,image_base)
    winStride = (4, 4)
    padding = (16, 16)
    scale = 1.05
    meanShift = 0

    (rects, weights) = hog.detectMultiScale(image, winStride=winStride, padding=padding, scale=scale,
                                            useMeanshiftGrouping=meanShift)
    print("[INFO] detection took: {}s".format(
        (datetime.datetime.now() - start).total_seconds()))

    # draw the original bounding boxes
    if len(rects) != 0 :
        for (x, y, w, h) in rects:
            cv.rectangle(image_now, (x, y), (x + w, y + h), (0, 255, 0), 2)
        ret,image_base = capture.read()
    else :
        image_base = image_now

    image3 = np.vstack([image_now,image])
    cv.imshow("Detections and diff", image3)

cv.waitKey(0)

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值