Memorandum. Es gibt keine Erklärung für jedes Argument.
test.py
import cv2
cap = cv2.VideoCapture(0)
#Modelldatei? Befindet sich im Github-Repository von opencv
cascade = cv2.CascadeClassifier("./data/haarcascades/haarcascade_frontalface_default.xml")
if (cap is not None):
print('cap ok')
else:
return -1
while(True):
_, frame = cap.read()#Holen Sie sich Bildinformationen von der Kamera
#Graustufenumwandlung
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
#Suchen Sie nach dem Gesichtsbereich.
face = cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=3, minSize=(30, 30))
for (x, y, w, h) in face:#Zeichnen Sie den erkannten Gesichtsbereich auf dem Originalbildschirm als Quadrat
cv2.rectangle(frame, (x, y), (x + w, y+h), (0,0,200), 3)
cv2.imshow("test", frame)#Bildschirmanzeige
key = cv2.waitKey(10)#Akzeptiert Tastatureingaben. Wie einige von Ihnen vielleicht wissen, ist eine Imshow ohne sie nicht möglich.
if key == ord('q'):#Beenden Sie die Verarbeitung, wenn q gedrückt wird
break
cap.release()#Kamera-Ressourcen zurückgeben
cv2.destroyAllWindows() #Löschen Sie den von imshow angezeigten Bildschirm
print("finish")
Recommended Posts