Schneiden Sie das Gesicht mit Python + OpenCV aus

Ziel

Ich möchte die Gesichtserkennung mit TensorFlow implementieren. Ich möchte ein Gesicht aus einem Bild zuschneiden, um Gesichtsdaten zu sammeln und zu normalisieren

Ernstes Memorandum

Umgebung

jupyter notebook OpenCV3.0 Python3.5

Legen Sie Lena und haarcascade_frontalface_alt.xml im selben Verzeichnis wie die .py-Datei ab oder schreiben Sie den Pfad neu.

Code

trimming.py


import cv2
import matplotlib.pyplot as plt
%matplotlib inline

#Bild wird geladen
src_image = cv2.imread('lenna.jpeg')
#In Graustufen konvertieren
dst_image = cv2.cvtColor(src_image,cv2.COLOR_RGB2GRAY)
#Haar-wie Klassifikator lesen
cascade=cv2.CascadeClassifier("haarcascade_frontalface_alt.xml")
#Speichern Sie die Koordinateninformationen des Gesichts, die durch Kaskadierung in Facerect erkannt wurden
#[Obere linke X-Koordinate des Vierecks,Oben links Y-Koordinate des Vierecks,Länge des Gesichtsbildes in Richtung der X-Achse,Länge des Gesichtsbildes in Richtung der Y-Achse]Ich mache mir Sorgen, wenn es hier ist
facerect = cascade.detectMultiScale(dst_image, scaleFactor=1.1, minNeighbors=1, minSize=(1, 1))
#Wenn ein oder mehrere Gesichter erkannt werden
if len(facerect) > 0:
    for rect in facerect:
        dst_image = dst_image[rect[1]:rect[1]+rect[3],rect[0]:rect[0]+rect[2]]
#Wenn kein Gesicht erkannt wird
else:
    print("no face")
#Wenn dies erledigt ist, wird es Graustufen. Geheimnis
dst_image = cv2.cvtColor(dst_image,cv2.COLOR_GRAY2RGB)

plt.imshow(dst_image)

Zusammenfassung

Wenn Sie ein von imread () gelesenes Farbbild in Graustufen mit imshow () anzeigen, Es scheint, dass Sie mit cvtColor von RGB zu Grau und dann mit cvtColor wieder von Grau zu RGB wechseln müssen. Vielleicht

Ich werde diesen Bereich hinzufügen, sobald ich ihn verstehe.

30.11.2016 Nachtrag

Das kannst du doch nicht retten, oder? Deshalb Ich habe einen Mechanismus zum Trimmen und Speichern erstellt. Verabschieden Sie sich von Jupiter Ich arbeite an PyCharm. Pycharm bequem

trimming.py


import cv2

cascade_path = "./haarcascades/haarcascade_frontalface_alt.xml"
origin_image_path = "Pfad des Bildordners"
dir_path = "Zielpfad zum Speichern von Bildern"

i = 0

for line in open('Pfad der Textdatei','r'):
    line = line.rstrip()
    print(line)
    image = cv2.imread(origin_image_path+line,0)
    if image is None:
        print('Not open : ',line)
        quit()

    cascade = cv2.CascadeClassifier(cascade_path)
    facerect = cascade.detectMultiScale(image, scaleFactor=1.1, minNeighbors=1, minSize=(10, 10))

    if len(facerect) > 0:
        for rect in facerect:
            #Schneiden Sie nur das Gesicht aus und speichern Sie
            x = rect[0]
            y = rect[1]
            width = rect[2]
            height = rect[3]
            dst = image[y:y + height, x:x + width]
            save_path = dir_path + '/' + 'image(' + str(i) + ')' + '.jpg'
            #Erkennungsergebnisse speichern
            cv2.imwrite(save_path, dst)
            print("save!")
            i += 1
print("Finish")

Sie können Zeile für Zeile in den Text schreiben, indem Sie in dem Ordner, der die Bilder enthält, `` `$ ls> hoge.txt``` ausführen. Öffnen Sie beim Lesen des Namens des geschriebenen Bildes das Bild, schneiden Sie es zu und speichern Sie es.

rstrip () Das Bild kann aus irgendeinem Grund nur gelesen werden, wenn es gebissen wurde. .. ..

Aber ist das nicht so etwas wie die Größe des Bildes zu ändern? (Fortsetzen)

Referenzseite

Schneiden Sie einen Teil der Statue aus und speichern Sie http://clngn.hatenablog.com/entry/20120113/1326442326 Spielen Sie mit Python -part1- (Gesichtserkennung mit OpenCV) http://www.takunoko.com/blog/python%E3%81%A7%E9%81%8A%E3%82%93%E3%81%A7%E3%81%BF%E3%82%8B-part1-opencv%E3%81%A7%E9%A1%94%E8%AA%8D%E8%AD%98/

Recommended Posts

Schneiden Sie das Gesicht mit Python + OpenCV aus
Gesichtserkennung mit Python + OpenCV
Schneiden Sie ein Bild mit Python aus
Versuchen Sie die Gesichtserkennung mit Python + OpenCV
Gesichtserkennung mit Kamera mit opencv3 + python2.7
Schneiden Sie mit Python + OpenCV jede Sekunde ein Bild aus einem Video aus
Gesichtserkennung mit Python + OpenCV (invariante Rotation)
[python, openCV] base64 Gesichtserkennung in Bildern
Binarisierung mit OpenCV / Python
Hallo Welt- und Gesichtserkennung mit OpenCV 4.3 + Python
Leistungsvergleich des Gesichtsdetektors mit Python + OpenCV
Gesichtserkennung aus mehreren Bilddateien mit openCV, ausschneiden und speichern
Gesichtserkennung mit OpenCV von Python
[Python] Verwenden von OpenCV mit Python (Basic)
Gesichtserkennung mit Python + dlib
Gesichtserkennung / Schneiden mit OpenCV
Versuchen Sie die Gesichtserkennung mit Python
Verwenden von OpenCV mit Python @Mac
Anime-Gesichtserkennung mit OpenCV
Leuchtendes Leben mit Python und OpenCV
Gesichtserkennung mit YOLO Face (Windows10, Python3.6)
[Python] Verwenden von OpenCV mit Python (Bildfilterung)
Neuronales Netzwerk mit OpenCV 3 und Python 3
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
Gesichtserkennung mit Lambda (Python) + Erkennung
[Python] Verwenden von OpenCV mit Python (Kantenerkennung)
Ein Memo, wenn mit Python + OpenCV schnell ein Gesicht erkannt wird
Einfache Python + OpenCV-Programmierung mit Canopy
[OpenCV] Persönliche Identifikation mit Gesichtsfoto
Laden Sie das GIF-Bild mit Python + OpenCV
Finden Sie Bildähnlichkeit mit Python + OpenCV
Verwenden Sie OpenCV mit Python 3 in Window
Zeichnen Sie eine Illustration mit Python + OpenCV
Verfolgen Sie Baseballbälle mit Python + OpenCV
Graphbasierte Segmentierung mit Python + OpenCV
Ich habe versucht, das Gesicht mit OpenCV zu erkennen
Zeichnen Sie einen Pfeil (Vektor) mit opencv / python
Grundlegendes Studium von OpenCV mit Python
[Python] Gesichtserkennung durch OpenCV (Haar Cascade)
Speichern Sie Videos Frame für Frame mit Python OpenCV
Bilder mit Pupil, Python und OpenCV aufnehmen
Ich habe versucht, mit Python + opencv nicht realistisch zu rendern
Bildverarbeitung mit Python & OpenCV [Tonkurve]
Bildaufnahme von der Kamera mit Python + OpenCV
Erstellen verschiedener Photoshop-Videos mit Python + OpenCV ③ Erstellen Sie verschiedene Photoshop-Videos
[Python] Bilder mit OpenCV lesen (für Anfänger)
Serverlose Gesichtserkennungs-API mit Python
Schneiden Sie Bilder aus und verbinden Sie sie mit ImageMagick
Bis Sie opencv mit Python verwenden können
Leichte Bildverarbeitung mit Python x OpenCV
Glättung kantengespeichert mit Python + OpenCV (BilateralFilter, NLMeansFilter)
FizzBuzz in Python3
Scraping mit Python
Statistik mit Python
Python2.7 + CentOS7 + OpenCV3
Scraping mit Python
Python mit Go
Twilio mit Python
In Python integrieren
Spielen Sie mit 2016-Python
AES256 mit Python