[PYTHON] [OpenCV] Identification personnelle avec photo du visage

Politique de base

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

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

# Image d'apprentissage
train_path = './training_data'
# Image de test
test_path = './test_data'

# Classificateur d'entités de type Haar
cascadePath = "./haarcascade_frontalface_default.xml"
faceCascade = cv2.CascadeClassifier(cascadePath)

 LBPH
recognizer = cv2.createLBPHFaceRecognizer()

def get_images_and_labels(path):
 #Array pour stocker des images
    images = []
 # Array pour stocker les étiquettes
    labels = []
 #Array pour stocker les noms de fichiers
    files = []
    for f in os.listdir(path):
 # Chemin de l'image
        image_path = os.path.join(path, f)
 # Charger l'image en échelle de gris
        image_pil = Image.open(image_path).convert('L')
 Stocké dans le tableau # NumPy
        image = np.array(image_pil, 'uint8')
 # Le classificateur d'entités de type Haar détecte le visage (les paramètres sont appropriés)
        faces = faceCascade.detectMultiScale(image,1.1,9,0)

 # Traitement de l'image du visage détecté
        for (x, y, w, h) in faces:
 # Redimensionner le visage à la taille 200x200
            roi = cv2.resize(image[y: y + h, x: x + w], (200, 200), interpolation=cv2.INTER_LINEAR)
 #Store images dans un tableau
            images.append(roi)
 #Get label from file name "En supposant un nom de fichier comme 0_xxxxx.jpg "
            labels.append(int(f[0]))
 # Stocker les noms de fichiers dans un tableau
            files.append(f)

    return images, labels, files

# Obtenir l'image de la formation
images, labels, files = get_images_and_labels(train_path)
# Mise en œuvre de la formation
recognizer.train(images, np.array(labels))
# Obtenir une image de test
test_images, test_labels, test_files = get_images_and_labels(test_path)

i = 0
while i < len(test_labels):
 #Prediction pour les images de test
    label, confidence = recognizer.predict(test_images[i])
 # Sortie du résultat de la prédiction vers la console
    print("Test Image: {}, Predicted Label: {}, Confidence: {}".format(test_files[i], label, confidence))
 #Afficher l'image de test
    cv2.imshow("test image", test_images[i])
    cv2.waitKey(1000)

    i += 1


cv2.destroyAllWindows()

Recommended Posts

[OpenCV] Identification personnelle avec photo du visage
Reconnaissance faciale avec OpenCV de Python
Binariser les données photo avec OpenCV
Détection de visage avec Python + OpenCV
Reconnaissance faciale / coupe avec OpenCV
Détection de visage d'anime avec OpenCV
Essayez la reconnaissance faciale avec python + OpenCV
Découpez le visage avec Python + OpenCV
Reconnaissance faciale avec caméra avec opencv3 + python2.7
J'ai essayé la reconnaissance faciale avec OpenCV
Détection de visage avec Python + OpenCV (rotation invariante)
[python, openCV] base64 Reconnaissance faciale dans les images
[OpenCV] Mémo personnel
Hello World et détection de visage avec OpenCV 4.3 + Python
Comparaison des performances du détecteur de visage avec Python + OpenCV
Redimensionner, mosaïque, détection de visage avec OpenCV, parfois tampon d'éléphant
Reconnaissance faciale avec Edison
Détecter le retour du chat avec OpenCV
Binarisation avec OpenCV / Python
Faire pivoter les sprites avec OpenCV
Augmentation des données avec openCV
TopView facile avec OpenCV
Trébucher avec opencv3 de homebrew
Reconnaissance faciale en temps réel avec vidéo acquise par getUserMedia [HTML5, openCV]
Un mémo lorsque le visage est détecté avec Python + OpenCV rapidement
"Traitement Apple" avec OpenCV3 + Python3
Essayez la détection des bords avec OpenCV
Édition d'image avec python OpenCV
Capture de caméra avec Python + OpenCV
Reconnaissance faciale par Amazon Rekognition
[Python] Utilisation d'OpenCV avec Python (basique)
Détection de visage avec Python + dlib
Chargement de la vidéo en boucle avec opencv
Détection des bords en temps réel avec OpenCV
Obtenez des fonctionnalités d'image avec OpenCV
Essayez la reconnaissance faciale avec Python
Détection de visage avec Haar Cascades
Essayez OpenCV avec Google Colaboratory
Création d'un classificateur en cascade avec opencv
Utiliser OpenCV avec Python @Mac
Reconnaissance d'image avec Keras + OpenCV
Je veux vérifier la position de mon visage avec OpenCV!
ZOOM en remplaçant votre visage par une icône Twitter avec la reconnaissance faciale openCV