[PYTHON] [Memorandum] Eine Geschichte über das Ausprobieren des OpenCV-Tutorials (Gesichtserkennung) in einer Windows-Umgebung

Es gibt eine Beratung darüber, ob Sie den vollständigen Text der Zeichnung in der Suchsystem-Konsultation durchsuchen können. Ich habe ein OpenCV-Tutorial versucht, um die Realisierungsgenauigkeit zu überprüfen.

Das Folgende ist ein Memorandum des Verfahrens, das ich genommen habe

** Annahme ** OS:   Windows10 64bit

Python:  Python3.7(Anaconda3)

Ziel Vom Aufbau einer OpenCV-Umgebung bis zur Durchführung eines einfachen Tutorials (ich möchte vorerst die Gesichtserkennung durchführen)

Vorbereitung

Anaconda Installation

https://www.anaconda.com/products/individual

image.png

Laden Sie OpenCV whl herunter

https://opencv.org/releases/

・ Klicken Sie auf der Registerkarte oben auf FREIGABEN. · OpenCV - Klicken Sie auf Quellen für 4.2.0

Erstellen Sie eine OpenCV-Umgebung mit dem Navigator von Anaconda

image.png

image.png

Installieren Sie numpy und matplotlib

conda install numpy
pip install matplotlib

image.png

★ Bisher genannte Artikel Artikel, auf die beim Bau des Fundaments Bezug genommen wird https://qiita.com/FukuharaYohei/items/5d49938ffd33d198f0c0

Artikel, auf die Bezug genommen wird, um Gegenmaßnahmen gegen Cascade Classifier-Fehler zu ergreifen http://sh0122.hatenadiary.jp/entry/2017/10/30/210411

Lernprogramm

Ich werde es probeweise versuchen, also werde ich zuerst die Gesichtserkennung versuchen. Sobald Sie die Grundlagen verstanden haben, müssen Sie nur noch die Grundlagen anpassen.

Erhalten Sie kaskadierende Dateien

Es ist eine XML-Datei, die die Daten zusammenfasst, die bereits die für die Klassifizierung und Erkennung erforderlichen Funktionen gelernt haben. Dieses Mal wird "haarcascade_frontalface_default.xml" für die Gesichtserkennung verwendet. https://github.com/opencv/opencv/blob/master/data/haarcascades/haarcascade_frontalface_default.xml

Fotos zur Gesichtserkennung

Das diesmal verwendete Foto ist mein eigenes Foto, das mit SNOW bearbeitet wurde. Kannst du das erkennen ...? image.png

Schreiben Sie den Python-Code. Schreiben Sie den folgenden Prozess mit dem Namen test.py

import cv2

#Sorter
cascadeFile = "C:\imagepy\haarcascade_frontalface_default.xml"

#Klassifikatoreinstellungen
cascade = cv2.CascadeClassifier(cascadeFile)

#Eingabedatei
imageImput ="C:\imagepy\myface.jpg "

#Eingabedatei lesen
image = cv2.imread(imageImput)

#Machen Sie es Graustufen
imageGray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

#Ausgabedatei
imageOutput = "C:\imagepy\out.jpg "

#Gesicht erkennen
facerect = cascade.detectMultiScale(imageGray, scaleFactor=1.1, minNeighbors=2, minSize=(30, 30))

#Verarbeitung, wenn ein Gesicht erkannt werden kann
if len(facerect) > 0:

    #Setzen Sie einen Rahmen auf das Gesicht
    for rect in facerect:
        cv2.rectangle(image, tuple(rect[0:2]),tuple(rect[0:2]+rect[2:4]), (255, 255, 255), thickness=2)

    #Speichern Sie das Ergebnis als Bild
    cv2.imwrite(imageOutput, image)

Versuchen Sie, test.py auszuführen

image.png

Es scheint, dass es sogar auf meinem eigenen Foto, das mit SNOW süß verarbeitet wurde, als Gesicht erkannt wird

image.png

Wir haben die Implementierung des Tutorials abgeschlossen, was unser Ziel ist. Das nächste Mal möchte ich die Symbole und Objekte in der Zeichnung erkennen und im Volltext durchsuchbar machen.

Ich kann es nicht mit den Zeichnungen testen, die ich bei der Arbeit verwende, daher frage ich mich, ob ich einen Zustand anstreben sollte, in dem ich den vollständigen Text durchsuchen kann, indem ich die Symbole auf der Karte erkenne. .. ..

Recommended Posts

[Memorandum] Eine Geschichte über das Ausprobieren des OpenCV-Tutorials (Gesichtserkennung) in einer Windows-Umgebung
Eine Geschichte darüber, wie Windows 10-Benutzer eine Umgebung für die Verwendung von OpenCV3 mit Python 3.5 erstellt haben
Eine Geschichte über den Versuch, private Variablen in Python zu implementieren.
Eine Geschichte, die es aufgegeben hat, JavaScripthon unter Windows auszuführen.
Eine Geschichte zum Erstellen einer IDE-Umgebung mit WinPython unter einem alten Windows-Betriebssystem.
Flucht aus Pythons virtueller Umgebung ~ Eine Geschichte über das Fangen in einer von mir erstellten virtuellen Umgebung ~
Denken Sie daran, eine Python 3-Umgebung in einer Mac-Umgebung zu erstellen
Eine Geschichte über den Versuch, Linter mitten in einem Python (Flask) -Projekt vorzustellen
Eine Geschichte über das Ausprobieren eines (Golang +) Python-Monorepo mit Bazel
Eine Geschichte, die die Discord-Aktivität im Slack-Status widerspiegelt
Eine Geschichte über einen Linux-Anfänger, der in einer Woche LPIC101 bestanden hat
Eine Geschichte über einen Linux-Anfänger, der Linux auf ein Windows-Tablet bringt
Ein Memorandum über Nan.
virtualenvwrapper in der Windows-Umgebung
Die Geschichte von PHP, die in der Entwicklungsumgebung in Ordnung war, in der Produktionsumgebung jedoch fehlerhaft LEVEL1 ~ 3 + 1
[Hinweis] Eine Geschichte über den Versuch, eine Klassenmethode mit zwei Unterbalken in der Python 3-Serie zu überschreiben.
[Django] Eine Geschichte über das Feststecken in einem Sumpf beim Versuch, einen Reißverschluss mit einem Formular zu validieren [TDD]
Ich habe den Super-Resolution-Algorithmus "PULSE" in einer Windows-Umgebung ausprobiert
Eine Geschichte darüber, wie man einen relativen Pfad in Python angibt.
Eine Geschichte über den Wettbewerb mit einem Freund in Othello AI Preparation
Ein Hinweis beim Berühren der Gesichtserkennungs-API von Microsoft mit Python
Eine Geschichte über eine Tragödie, die durch den Austausch von Befehlen im Chat verursacht wurde
Gesichtserkennung mit OpenCV von Python
Memorandum über Korrelation [Python]
Ein Memorandum über den Python-Mock
Gesichtserkennung / Schneiden mit OpenCV
Eine Geschichte über den Versuch, einen Chot zu automatisieren, wenn Sie selbst kochen
Wie wäre es mit Anaconda zum Erstellen einer maschinellen Lernumgebung mit Python?
Eine Geschichte über einen Erstellungsfehler in einer gemeinsam genutzten Bibliothek, die auf libusb verweist
Eine Geschichte über den Versuch, mehrere Python-Versionen auszuführen (Mac Edition)
Eine Geschichte über den Versuch, den Testprozess eines 20 Jahre alten Systems in C zu verbessern