如何从肩部到肚脐点检测上半身?

时间:2018-06-06 03:06:21

标签: python opencv

我正在虚拟更衣室工作。我使用的是opencv 3.0.0。我用haarcascade来检测上半身。我不想在矩形区域显示头部。在矩形区域,我想向人体的肚脐点显示肩膀。但我不能这样做。所以我需要减小矩形大小以获得我想要的输出。

这是我的上身检测码。它检测到包括头部在内的完整上身。

import numpy as np
import cv2
vid=cv2.VideoCapture(0)
_ instant=vid.read()
avg=np.float32(instant)
file=cv2.CascadeClassifier("./cascade/haarcascade_upperbody.xml")
obj=0
while(1):
 _,frame=vid.read()
 cv2.accumulateWeighted(frame, avg, 0.1)
 background=cv2.convertScaleAbs(avg)
    diff=cv2.absdiff(frame, background)
    cv2.imshow("input", frame)
    bodies=file.detectMultiScale(frame)
    for body in bodies:
        cv2.rectangle(frame, (body[0], body[1]), (body[0]+body[2], body[0]+body[3]), (255,0,0), 3)
    cv2.imshow("Upper Body", frame)
    if cv2.waitKey(5)==27:
        break
cv2.destroyAllWindows()

0 个答案:

没有答案