Я использую opencv и numpy для обнаружения человеческого тела с использованием HOGDescriptor. Вот код, с которым я играю:
import numpy as np
import cv2
hog = cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
cv2.startWindowThread()
cap = cv2.VideoCapture('C:/Users/****/Desktop/people_walk.mkv')
while(True):
ret, frame = cap.read()
frame = cv2.resize(frame, (640, 480))
gray = cv2.cvtColor(frame, cv2.COLOR_RGB2GRAY)
boxes, weights = hog.detectMultiScale(frame, winStride=(8,8) )
boxes = np.array([[x, y, x + w, y + h] for (x, y, w, h) in boxes])
for (xA, yA, xB, yB) in boxes:
cv2.rectangle(frame, (xA, yA), (xB, yB),
(0, 255, 0), 2)
cv2.imshow('frame',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
cv2.waitKey(1)
Поэтому после нажатия q окно камеры должно закрыться. На самом деле это так, но скрипт продолжает работать, и все выполнение не останавливается даже после нажатия ctrl + c или выхода (). Любая помощь с этим?