Итак, у меня есть следующий код:
import numpy as np
import cv2
fullbody_cascade = cv2.CascadeClassifier('haarcascade_fullbody.xml')
cap0 = cv2.VideoCapture('walking0.mp4')
cap1 = cv2.VideoCapture('walking1.mp4')
while True:
ret0, frame0 = cap0.read()
ret1, frame1 = cap1.read()
gray0 = cv2.cvtColor(frame0, cv2.COLOR_BGR2GRAY)
gray1 = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)
fullbody0 = fullbody_cascade.detectMultiScale(gray0)
fullbody1 = fullbody_cascade.detectMultiScale(gray1)
for (x,y,w,h) in fullbody0:
cv2.rectangle(frame0, (x,y), (x+w, y+h), (255,0,0), 2)
for (x,y,w,h) in fullbody1:
cv2.rectangle(frame1, (x,y), (x+w, y+h), (255,0,0), 2)
#roi_gray = gray[y:y+h, x:x+w]
#roi_color = img[y:y+h, x:x+w]
cv2.imshow('cam0',frame0)
cv2.imshow('cam1',frame1)
k = cv2.waitKey(30) & 0xff
if k == 27:
break
cap.release()
cv2.destroyAllWindows()
И для этого используется обученный каскад Хаара всего тела человека и др aws контур вокруг него, а "cv2.imshow" - это используется для предварительного просмотра того, что видят.
То, что я на самом деле хочу сделать, это вместо этого отобразить его на веб-странице, будь то сервер ddns, localhost или домен, все в порядке.
Я изначально использовал Motion с моим Raspberry Pi 3
для потоковой передачи на localhost, но это не то, что мне нужно. Я видел, как люди используют Python Flask
, но я не думаю, что это совместимо с моим приложением, я могу ошибаться.
Чтобы объяснить код более подробно, он обрабатывает 2 видео; "walking0.mp4"
и "walking1.mp4"
и выделение людей в обоих видео одновременно. У кого-нибудь есть предложения, как мне изменить этот код, чтобы получить желаемый результат?