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()
Вот результат:
Как видите, мой код не обнаружил на изображении все тело человека.
Кстати, я новичок в OpenCV, и это мой первый вопрос здесь, так что поправьте меня. если я делаю что-то не так, и надеюсь, что кто-нибудь поможет мне исправить мой код.
Я хочу обнаружить полное тело человека на изображении, используя OpenCV Fullbody Haar Cascades. Вот мой код: [code]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() [/code] Вот результат: [img]https://i.sstatic.net/IP2G0.png[/img]
Как видите, мой код не обнаружил на изображении все тело человека. Кстати, я новичок в OpenCV, и это мой первый вопрос здесь, так что поправьте меня. если я делаю что-то не так, и надеюсь, что кто-нибудь поможет мне исправить мой код.