[PYTHON] Ich habe versucht, das Gesicht mit OpenCV zu erkennen

OpenCV ist eine Open Source-Bibliothek, die für die Bildverarbeitung verwendet werden kann. Es kann auch in Python verwendet werden, sodass es auch beim maschinellen Lernen verwendet werden kann. Dieses Mal werde ich versuchen, das Gesicht mit diesem OpenCV zu erkennen.

Diese Betriebsumgebung

Was ist diesmal zu tun?

Laden Sie das Bild, erkennen Sie das Gesicht im Bild und zeigen Sie die Koordinaten und die Größe des Gesichts an. Danach wird das erkannte Gesicht als rotes Quadrat angezeigt. OpenCV verfügt über mehrere Feature-Datendateien (Kaskadendateien), die zur Gesichtserkennung verwendet werden können. Dieses Mal verwenden wir "haarcascade_frontalface_alt.xml" als Datendatei, die das Gesicht erkennt, wenn es nach vorne zeigt. Außerdem erkennen wir diesmal das folgende Bild (`` before.jpg``` im Quellcode). before.jpg

Referenzquelle: https://www.pakutaso.com/assets_c/2016/03/SAYA151005380I9A8403-thumb-autox1600-21549.jpg

Quellcode

front_face.py


#coding: utf-8
import cv2

cascade_file = "haarcascade_frontalface_alt.xml"
image_file = "before.jpg "

img = cv2.imread(image_file)
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

cascade = cv2.CascadeClassifier(cascade_file)
face_list = cascade.detectMultiScale(img_gray, minSize=(150, 150))

if len(face_list) == 0:
  print("Fail recognise")
  quit()

for (x, y, w, h) in face_list:
  print("Gesichtskoordinaten=", x, y, w, h)
  color = (0, 0, 225)
  pen_w = 8
  cv2.rectangle(img, (x, y), (x+w, y+h), color, thickness = pen_w)

cv2.imwrite("after.jpg ", img)

Als ich es ausführte, bekam ich den folgenden Fehler.

OpenCV Error: Assertion failed (!empty()) in detectMultiScale, file /home/travis/miniconda/conda-bld/conda_1486587069159/work/opencv-3.1.0/modules/objdetect/src/cascadedetect.cpp, line 1639
Traceback (most recent call last):
  File "face_front.py", line 11, in <module>
    face_list = cascade.detectMultiScale(img_gray, minSize=(150, 150))
cv2.error: /home/travis/miniconda/conda-bld/conda_1486587069159/work/opencv-3.1.0/modules/objdetect/src/cascadedetect.cpp:1639: error: (-215) !empty() in function detectMultiScale

--Ursache

Als ich es nachgeschlagen habe, scheint es ein Fehler zu sein, der durch den falschen Pfad der Kaskadendatei verursacht wurde.

Als erste Hilfe konnte ich diese Kaskadendatei in das Verzeichnis mit dem Quellcode kopieren und verwenden.

Ergebnis

Das Ergebnis der Ausführung ist das folgende Bild. after.jpg

Referenz

Von der Installation von OpenCV3.1 unter Ubuntu16.04 LTS bis zum Gesichtserkennungstest

Recommended Posts

Ich habe versucht, das Gesicht mit OpenCV zu erkennen
Gesichtserkennung mit OpenCV von Python
Ich habe versucht, das Gesicht mit Face ++ zu erkennen
Gesichtserkennung / Schneiden mit OpenCV
Versuchen Sie die Gesichtserkennung mit Python + OpenCV
Ich habe versucht, das Gesicht mit MTCNN zu erkennen
Gesichtserkennung mit Kamera mit opencv3 + python2.7
Ich habe versucht, das Gesicht aus dem Video zu erkennen (OpenCV: Python-Version)
Ich habe versucht, mit Python + opencv nicht realistisch zu rendern
[python, openCV] base64 Gesichtserkennung in Bildern
Ich habe mit Jupyter eine einfache Bilderkennung versucht
Gesichtserkennung mit Edison
Ich habe versucht, Runenfiguren mit Scikit-Learn handschriftlich zu erkennen
Ich habe versucht, das Bild mit Python + OpenCV zu "glätten"
Ich habe versucht, Bilder mit CIFAR-10 mit Keras-Learning- zu erkennen.
Ich habe versucht, das Bild mit Python + OpenCV zu "differenzieren"
Ich habe versucht, Bilder von CIFAR-10 mit Keras-Bilderkennung zu erkennen.
Ich habe versucht, mit OpenCV Bewegungen schnell zu erkennen
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
Ich habe versucht, mit Elasticsearch Ranking zu lernen!
Gesichtserkennung durch Amazon Rekognition
Gesichtserkennung mit Python + OpenCV
Versuchen Sie die Gesichtserkennung mit Python
Ich habe gRPC mit Python ausprobiert
Ich habe versucht, mit Python zu kratzen
Bilderkennung mit Keras + OpenCV
Anime-Gesichtserkennung mit OpenCV
[OpenCV / Python] Ich habe versucht, Bilder mit OpenCV zu analysieren
Ich habe versucht, das Bild mit Python + OpenCV "morphologisch zu konvertieren"
Ich habe versucht, das Bild mit Python + OpenCV "gammakorrektur" zu machen
Gesichtserkennung in Echtzeit mit von getUserMedia [HTML5, openCV] aufgenommenem Video
Ich habe versucht, Sätze mit summpy zusammenzufassen
Ich habe maschinelles Lernen mit liblinear versucht
Ich habe versucht, Essen mit SinGAN zu bewegen
Ich habe versucht, das Lachproblem mit Keras zu erkennen.
Ich habe versucht, GrabCut von OpenCV zu verwenden
Ich habe versucht, DeepPose mit PyTorch zu implementieren
[OpenCV] Persönliche Identifikation mit Gesichtsfoto
Erste Anime-Gesichtserkennung mit Chainer
Schneiden Sie das Gesicht mit Python + OpenCV aus
Ich habe versucht, die handschriftliche Zeichenerkennung von Runenzeichen mit CNN mithilfe von Keras zu erkennen
Ich habe versucht, Prolog mit Python 3.8.2 auszuführen.
Ich habe die SMTP-Kommunikation mit Python versucht
Ich habe versucht, Sätze mit GPT-2 zu generieren
Ich habe versucht, LightGBM mit Yellowbrick zu lernen
Objekterkennung mit openCV durch traincascade
Ich habe versucht, das Bild mit OpenCV im "Skizzenstil" zu verarbeiten
Ich habe versucht, das Bild mit OpenCV im "Bleistift-Zeichenstil" zu verarbeiten
ZOOM, indem Sie Ihr Gesicht durch ein Twitter-Symbol mit openCV-Gesichtserkennung ersetzen
Ich habe versucht, mit Python + OpenCV eine Bildähnlichkeitsfunktion zu erstellen
Gesichtserkennung mit OpenCV (Haar-like Feature Classifier)
Gesichtserkennung mit Python + OpenCV (invariante Rotation)
Ich möchte Objekte mit OpenCV erkennen
Ich habe eine multiple Regressionsanalyse mit Polypoly-Regression versucht
Ich habe versucht, eine SMS mit Twilio zu senden
Ich habe versucht, Amazon SQS mit Django-Sellerie zu verwenden
Ich habe versucht, Autoencoder mit TensorFlow zu implementieren