[PYTHON] [OpenCV] Persönliche Identifikation mit Gesichtsfoto

Grundlegende Richtlinien

!/usr/bin/python
 -*- coding: utf-8 -*-

import cv2, os
import numpy as np
from PIL import Image

# Bild lernen
train_path = './training_data'
# Testbild
test_path = './test_data'

# Haarartiger Merkmalsklassifikator
cascadePath = "./haarcascade_frontalface_default.xml"
faceCascade = cv2.CascadeClassifier(cascadePath)

 LBPH
recognizer = cv2.createLBPHFaceRecognizer()

def get_images_and_labels(path):
 #Array zum Speichern von Bildern
    images = []
 # Array zum Speichern von Etiketten
    labels = []
 #Array zum Speichern von Dateinamen
    files = []
    for f in os.listdir(path):
 #Bildpfad
        image_path = os.path.join(path, f)
 # Bild in Graustufen laden
        image_pil = Image.open(image_path).convert('L')
 Im # NumPy-Array gespeichert
        image = np.array(image_pil, 'uint8')
 # Haar-ähnlicher Feature-Klassifikator erkennt Gesicht (Parameter sind angemessen)
        faces = faceCascade.detectMultiScale(image,1.1,9,0)

 # Verarbeitung des erkannten Gesichtsbildes
        for (x, y, w, h) in faces:
 # Ändern Sie die Größe des Gesichts auf 200 x 200
            roi = cv2.resize(image[y: y + h, x: x + w], (200, 200), interpolation=cv2.INTER_LINEAR)
 # Bilder in einem Array speichern
            images.append(roi)
 # Beschriftung vom Dateinamen abrufen "Angenommen, ein Dateiname wie 0_xxxxx.jpg "
            labels.append(int(f[0]))
 # Speichern Sie Dateinamen in einem Array
            files.append(f)

    return images, labels, files

# Holen Sie sich ein Trainingsbild
images, labels, files = get_images_and_labels(train_path)
# Durchführung der Schulung
recognizer.train(images, np.array(labels))
# Holen Sie sich das Testbild
test_images, test_labels, test_files = get_images_and_labels(test_path)

i = 0
while i < len(test_labels):
 # Vorhersage für Testbilder
    label, confidence = recognizer.predict(test_images[i])
 # Ausgabe des Vorhersageergebnisses an die Konsole
    print("Test Image: {}, Predicted Label: {}, Confidence: {}".format(test_files[i], label, confidence))
 # Testbild anzeigen
    cv2.imshow("test image", test_images[i])
    cv2.waitKey(1000)

    i += 1


cv2.destroyAllWindows()

Recommended Posts

[OpenCV] Persönliche Identifikation mit Gesichtsfoto
Gesichtserkennung mit OpenCV von Python
Binarisieren Sie Fotodaten mit OpenCV
Gesichtserkennung mit Python + OpenCV
Gesichtserkennung / Schneiden mit OpenCV
Anime-Gesichtserkennung mit OpenCV
Versuchen Sie die Gesichtserkennung mit Python + OpenCV
Schneiden Sie das Gesicht mit Python + OpenCV aus
Gesichtserkennung mit Kamera mit opencv3 + python2.7
Ich habe versucht, das Gesicht mit OpenCV zu erkennen
Gesichtserkennung mit Python + OpenCV (invariante Rotation)
[python, openCV] base64 Gesichtserkennung in Bildern
[OpenCV] Persönliches Memo
Hallo Welt- und Gesichtserkennung mit OpenCV 4.3 + Python
Leistungsvergleich des Gesichtsdetektors mit Python + OpenCV
Größenänderung, Mosaik, Gesichtserkennung mit OpenCV, manchmal Elefantenstempel
Gesichtserkennung mit Edison
Katze zurück mit OpenCV erkennen
Binarisierung mit OpenCV / Python
Sprites mit OpenCV drehen
Datenerweiterung mit openCV
Einfache TopView mit OpenCV
Stolpern Sie mit opencv3 von Homebrew
Gesichtserkennung in Echtzeit mit von getUserMedia [HTML5, openCV] aufgenommenem Video
Ein Memo, wenn mit Python + OpenCV schnell ein Gesicht erkannt wird
"Apple-Verarbeitung" mit OpenCV3 + Python3
Versuchen Sie die Kantenerkennung mit OpenCV
Bildbearbeitung mit Python OpenCV
Kameraerfassung mit Python + OpenCV
Gesichtserkennung durch Amazon Rekognition
[Python] Verwenden von OpenCV mit Python (Basic)
Gesichtserkennung mit Python + dlib
Loop-Video-Laden mit opencv
Echtzeit-Kantenerkennung mit OpenCV
Holen Sie sich Bildfunktionen mit OpenCV
Versuchen Sie die Gesichtserkennung mit Python
Gesichtserkennung mit Haar Cascades
Probieren Sie OpenCV mit Google Colaboratory aus
Erstellung eines Kaskadenklassifikators mit opencv
Verwenden von OpenCV mit Python @Mac
Bilderkennung mit Keras + OpenCV
Ich möchte die Position meines Gesichts mit OpenCV überprüfen!
ZOOM, indem Sie Ihr Gesicht durch ein Twitter-Symbol mit openCV-Gesichtserkennung ersetzen