【发布时间】:2019-11-24 10:45:01
【问题描述】:
我有一个检测我的脸的代码。但我想检测整个身体而不仅仅是面部。
import numpy as np
import cv2
detector= cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
cap = cv2.VideoCapture(0)
while(True):
ret, img = cap.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
faces = detector.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
cv2.imshow('frame',img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
我想检测全身
【问题讨论】:
-
OpenCV 的 CascadeClassifier 并不是一个真正强大的人体检测器(即使使用适当的数据进行训练)。您可能应该进行谷歌搜索以查看选项是什么。例如,YOLO 将是一个非常好的候选者。
-
你可能不应该使用名为
...frontalface...xml的东西。
标签: python python-3.x opencv face-detection face-recognition