我想使用OpenCV全身Haar Cascades检测图像中人体的全身。下面是我的代码:
import numpy as np
import cv2
from matplotlib import pyplot as plt
bodydetection = cv2.CascadeClassifier('cascades/haarcascade_fullbody.xml')
img = cv2.imread('gambar/fullbody2.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
body = bodydetection.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in body:
cv2.rectangle(img,(x,y),(x+w,y+h),(0,255,0),2)
cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
结果如下:
Result
如您所见,我的代码没有检测到图像中的完整人体。
顺便说一下,我是OpenCv的新手,这是我在这里的第一个问题,所以如果我做错了什么,请纠正我,我希望有人能帮助我纠正我的代码。
抱歉英语不好;).
1条答案
按热度按时间oxosxuxt1#
您可以考虑使用OpenCV
haarcascade_fullbody.xml
,它包含检测它是否是人的数据,请尝试添加一张有一组人(而不是一个人)的照片,看看它是否检测到其中的任何一个人。