[1. Vorbereitung der virtuellen Umgebung](# 1-Vorbereitung der virtuellen Umgebung) [2. OpenCV installieren](# 2-OpenCV installieren) [3. Vorbereitung des Gesichtserkennungsprogramms](# 3-Vorbereitung des Gesichtserkennungsprogramms) [4. Holen Sie sich die Klassifikator-Datei](# 4-Holen Sie sich die Klassifikator-Datei) [5. Ausführen](# 5-Ausführen) [6. Quellcode](# 6-Quellcode)
Erstellen Sie mit venv eine opencvEnv-Umgebung
$ python3 -m venv opencvEnv
#aktivieren Sie
$ source opencvEnv/bin/activate
(opencvEnv)$ ...
Installieren Sie openCV mit pip
(opencvEnv)$ pip install opencv-python
Collecting opencv-python
Downloading https://files.pythonhosted.org/packages/e2/a9/cd3912ca0576ea6588095dce55e54c5f0efeb3d63fb88f16f4c06c0fac8d/opencv_python-4.1.2.30-cp36-cp36m-macosx_10_9_x86_64.whl (45.2MB)
100% |████████████████████████████████| 45.2MB 721kB/s
Collecting numpy>=1.11.3 (from opencv-python)
Using cached https://files.pythonhosted.org/packages/22/99/36e3408ae2cb8b72260de4e538196d17736d7fb82a1086cb2c21ee156ddc/numpy-1.17.4-cp36-cp36m-macosx_10_9_x86_64.whl
Installing collected packages: numpy, opencv-python
Successfully installed numpy-1.17.4 opencv-python-4.1.2.30
import cv2
Erstellen Sie face_detect.py
face_detect.py
import cv2
if __name__ == '__main__':
#Konstante Definition
ESC_KEY = 27 #Esc-Taste
INTERVAL= 33 #Wartezeit
FRAME_RATE = 30 # fps
ORG_WINDOW_NAME = "org"
GAUSSIAN_WINDOW_NAME = "gaussian"
DEVICE_ID = 0
#Bezeichnung des Klassifikators
cascade_file = "../xml/haarcascade_frontalface_alt2.xml"
cascade = cv2.CascadeClassifier(cascade_file)
#Kamerabilderfassung
cap = cv2.VideoCapture(DEVICE_ID)
#Laden des ersten Frames
end_flag, c_frame = cap.read()
height, width, channels = c_frame.shape
#Fenstervorbereitung
cv2.namedWindow(ORG_WINDOW_NAME)
cv2.namedWindow(GAUSSIAN_WINDOW_NAME)
#Konvertierungsverarbeitungsschleife
while end_flag == True:
#Bildaufnahme und Gesichtserkennung
img = c_frame
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
face_list = cascade.detectMultiScale(img_gray, minSize=(100, 100))
#Markieren Sie das erkannte Gesicht
for (x, y, w, h) in face_list:
color = (0, 0, 225)
pen_w = 3
cv2.rectangle(img_gray, (x, y), (x+w, y+h), color, thickness = pen_w)
#Rahmenanzeige
cv2.imshow(ORG_WINDOW_NAME, c_frame)
cv2.imshow(GAUSSIAN_WINDOW_NAME, img_gray)
#Beenden Sie mit der Esc-Taste
key = cv2.waitKey(INTERVAL)
if key == ESC_KEY:
break
#Lesen Sie den nächsten Frame
end_flag, c_frame = cap.read()
#Verarbeitung beenden
cv2.destroyAllWindows()
cap.release()
Holen Sie sich die haarcascade_frontalface_alt2.xml
, die für die Gesichtserkennung verwendet wird, von der folgenden Site und laden Sie die Datei an einen beliebigen Ort </ b> herunter.
https://ja.osdn.net/projects/sfnet_magicvisionport/downloads/mvp/cascades/haarcascade_frontalface_alt2.xml/
Führen Sie face_ detect.py aus. Das Terminal bittet Sie um Erlaubnis, auf die Kamera zugreifen zu dürfen. Lassen Sie es also zu.
(opencvEnv)$ python face_ detect.py
Gesichter können anhand von Bildern erkannt werden, die von der Kamera aufgenommen werden können. Die Kamera kann mit [Esc] getötet werden.
Dieser Quellcode wird aus face_detect.py
im folgenden Repository nachgedruckt.
https://github.com/kawakeee/openCV_practice/blob/master/detection/face_detect.py
Versuchen Sie die Gesichtserkennung in Echtzeit mit einer Webkamera
Ich mache auch einen persönlichen Blog. Nagano Engineer Life
Recommended Posts