[PYTHON] So installieren Sie den Cascade-Detektor und wie verwenden Sie ihn

Dieses Mal möchte ich vorstellen, wie der zur Gesichtserkennung verwendete Kaskadendetektor installiert wird.

Ausführungsumgebung

MacOS, Python3.6(anaconda), VSCode

Installationsverfahren für den Kaskadendetektor

① Wählen Sie die gewünschte Cascade-Datei in [Github Repositories] aus (https://github.com/opencv/opencv/tree/master/data/haarcascades). ② Öffnen Sie die Datei und klicken Sie auf Raw ③ Klicken Sie auf dem geöffneten Bildschirm mit der rechten Maustaste und speichern Sie ihn an Ihrem bevorzugten Ort.

Dies ist das Verfahren.

Hier ist der Artikel, auf den ich mich diesmal bezog. Gesichtserkennung und Pupillenerkennung mit Python, OpenCV (Gesichtserkennung, Pupillenerkennung)

Impressionen der Umsetzung

xml_path_list = ["./haarcascade_frontalface_default.xml", 
               "./haarcascade_frontalface_alt.xml",
               "./haarcascade_frontalface_alt_tree.xml",
               "./haarcascade_frontalface_alt2.xml"]

Dieses Mal dachte ich, ich würde diese vier verwenden, aber ich habe die restlichen drei verwendet, weil die Dateigröße von ** "./haarcascade_frontalface_alt_tree.xml" ** zu groß für die Installation war.

Ich denke, Standard war die genaueste. Ich hatte den Eindruck, dass alt manchmal andere Teile als das Gesicht erkannte und dass alt2 manchmal das Gesicht nicht erkannte.

Wie Sie Ihr Gesicht in ein Quadrat einschließen

Dieses Mal habe ich ein Quadrat um die Stelle gemacht, an der das Gesicht erkannt wurde, daher werde ich auch beschreiben, wie es geht.

if len(face_points) == 0:
    quit()
for x, y, width, height in face_points: #Holen Sie sich Koordinatenpunkte des Gesichtsbereichs
    color = (0, 0, 100)
    pen_w = 9
    cv2.rectangle(img, (x, y), (x+width, y+height), color, thickness = pen_w)
    cv2.imwrite('mosaic' + str(mosaic_num) + str(cnt) + '.jpg', img)    #Bild speichern

Verwenden Sie zunächst die if-Anweisung, um festzustellen, ob das Gesicht mit ** detectMultiScale ** erkannt werden kann. Wenn nicht, endet es dort.

Und der in einem Quadrat eingeschlossene Code steht in der for-Anweisung. Geben Sie an, welche Art von Zeile mit ** cv2.rectangle ** eingeschlossen werden soll.

Zusammenfassung

Dieses Mal erklärte ich, wie der Kaskadendetektor installiert wird. Dies ist praktisch, da es automatisch erkannt wird, ohne dass Sie den Gesichtserkennungscode selbst schreiben müssen. Ich habe dies auch für die erste Implementierung verwendet.

Darüber hinaus konnten wir es implementieren, indem wir es in ein Quadrat einschließen. Dies ist praktisch, da Sie auf einen Blick beurteilen können, ob das Gesicht richtig erkannt werden kann. Ich fand es lustig, weil ich das Ergebnis der Bildverarbeitung sehen konnte, sobald ich es ausführte.

Recommended Posts

So installieren Sie den Cascade-Detektor und wie verwenden Sie ihn
So installieren und verwenden Sie Tesseract-OCR
So installieren und verwenden Sie Graphviz
So installieren und verwenden Sie pandas_datareader [Python]
Wie man Decorator in Django benutzt und wie man es macht
Verwendung von .bash_profile und .bashrc
Python: Verwendung von Einheimischen () und Globalen ()
Verwendung von Python zip und Aufzählung
Verwendung ist und == in Python
Verwendung von pandas Timestamp und date_range
Wie man Fabric installiert und wie man es benutzt
So installieren Sie OpenCV in Cloud9 und führen es in Python aus
Verwendung von xml.etree.ElementTree
Wie benutzt man Python-Shell
Hinweise zur Verwendung von tf.data
Verwendung von virtualenv
Verwendung von Image-Match
Wie man Shogun benutzt
Einführung des Sinatra-Frameworks und dessen Verwendung
So installieren Sie Python
Verwendung von Pandas 2
So installieren Sie pip
Verwendung von Virtualenv
Verwendung von numpy.vectorize
So installieren Sie archlinux
Verwendung von pytest_report_header
So installieren Sie Python
Wie man teilweise verwendet
Wie man Bio.Phylo benutzt
Verwendung von SymPy
Wie man x-means benutzt
Verwendung von WikiExtractor.py
Verwendung von IPython
So installieren Sie BayesOpt
Verwendung von virtualenv
Wie benutzt man Matplotlib?
Verwendung von iptables
Wie benutzt man numpy?
Wie benutzt man venv
Verwendung des Wörterbuchs {}
[Python] Verwendung von Hash-Funktion und Taple.
Wie benutzt man Pyenv?
Verwendung der Liste []
Wie man Python-Kabusapi benutzt
So installieren Sie Nbextensions
Verwendung von OptParse
Verwendung von return
So installieren Sie Prover9
Wie man Imutils benutzt
So installieren Sie Fast.ai auf einer Alibaba Cloud-GPU und führen es auf einem Jupyter-Notebook aus
[Python] [Django] Verwendung des Auswahlfelds und Hinzufügen von Optionen
Anfänger! Grundlegende Linux-Befehle und Verwendung!
So installieren Sie Git GUI und Gitk unter CentOS
Verwendung des Befehls grep und häufiger Samples
Julia Quick Look Note [01] Verwendung von Variablen und Konstanten
Wie man Argparse benutzt und den Unterschied zwischen Optparse