gpt4 book ai didi

python - HOG人物检测opencv使用WEBCAM

转载 作者:太空宇宙 更新时间:2023-11-03 22:49:09 25 4
gpt4 key购买 nike

我正在尝试检测使用网络摄像头的人。
我已经尝试过使用视频检测人并且它有效。
当我将它从视频更改为网络摄像头时,检测不起作用。

要支持网络摄像头应该怎么做?

    def inside(r, q):
rx, ry, rw, rh = r
qx, qy, qw, qh = q
return rx > qx and ry > qy and rx + rw < qx + qw and ry + rh < qy + qh

def draw_detections(img, rects, thickness = 1):
for x, y, w, h in rects:
# the HOG detector returns slightly larger rectangles than the real objects.
# so we slightly shrink the rectangles to get a nicer output.
pad_w, pad_h = int(0.15*w), int(0.05*h)
cv2.rectangle(img, (x+pad_w, y+pad_h), (x+w-pad_w, y+h-pad_h), (0, 255, 0), thickness)
if __name__ == '__main__':

hog = cv2.HOGDescriptor()
hog.setSVMDetector( cv2.HOGDescriptor_getDefaultPeopleDetector() )
cap = cv2.VideoCapture(0)
while True:
ret,frame=cap.read()
found,w=hog.detectMultiScale(frame, winStride=(8,8), padding=(32,32), scale=1.05)
draw_detections(frame,found)
cv2.imshow('feed',frame)
if cv2.waitKey(1) & 0xFF == ord('e'):
break
cap.release()
cv2.destroyAllWindows()

最佳答案

如果它适用于普通视频,我不明白为什么它不能适用于网络摄像头,除非处理的帧差异很大(即噪音太大、人太多等)。

您是否完全从网络摄像头获取图像(我在您的代码中没有看到它)?如果它是 USB 网络摄像头,很可能一切都可以使用 OpenCV VideoReader 功能。您只需在循环中一个接一个地从网络摄像头获取帧。本教程对其进行了详细描述: http://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_video_display/py_video_display.html

关于python - HOG人物检测opencv使用WEBCAM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42246042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com