Comparaison des performances du détecteur de visage avec Python + OpenCV

Comparaison des performances du détecteur de visage avec Python + OpenCV

J'ai essayé de le sortir pour une comparaison facile afin de savoir lequel convient le mieux à l'objectif

code

face_detector.py


# -*- coding: utf-8 -*-

from __future__ import absolute_import
from __future__ import division
from __future__ import print_function

import cv2, os, sys, imghdr

CLASSIFIER_DIR = '/usr/local/share/OpenCV/haarcascades'
CLASSIFIER_LIST = [
    'haarcascade_eye_tree_eyeglasses',
    'haarcascade_eye',
    'haarcascade_frontalface_alt_tree',
    'haarcascade_frontalface_alt',
    'haarcascade_frontalface_alt2',
    'haarcascade_frontalface_default',
    'haarcascade_lefteye_2splits',
    'haarcascade_profileface',
    'haarcascade_righteye_2splits',
    'haarcascade_smile'
]
CLASSIFIERS = {}
for name in CLASSIFIER_LIST:
    CLASSIFIERS[name] = cv2.CascadeClassifier('{classifier_dir}/{classifier}.xml'.format(
        classifier_dir = CLASSIFIER_DIR,
        classifier = name
    ))
CWD = os.getcwd()
DIR_ORIGIN = CWD + '/images/'
DIR_DESTINATION = CWD + '/faces/'

def getFaces(path_full):
    results = {}
    original_image = cv2.imread(path_full)
    gray = cv2.cvtColor(original_image, cv2.COLOR_BGR2GRAY)
    for label, classifier in CLASSIFIERS.items():
        image = original_image.copy()
        faces = classifier.detectMultiScale(gray)
        for i in range(len(faces)):
            x, y , w, h = faces[i]
            image = cv2.rectangle(image, (x, y), (x + w, y + h), (255, 255, 255), 2)
        results[label] = image
    return results

count = 1
for path, subdirs, files in os.walk(DIR_ORIGIN):
    for name in files:
        path_full = os.path.join(path, name)
        if imghdr.what(path_full) in ['jpeg']:
            faces = getFaces(path_full)
            for classifier, face in faces.items():
                file_name = '{destination_dir}/{count}_OpenCV_{classifier}.jpg'.format(
                    destination_dir = DIR_DESTINATION,
                    count = count,
                    classifier = classifier
                )
                cv2.imwrite(file_name, face, [cv2.IMWRITE_JPEG_QUALITY, 100])
            print(path_full)
            count += 1

Site de référence

Types et effets des classificateurs en cascade pouvant être utilisés avec OpenCV

Essayez la reconnaissance faciale avec Python + OpenCV

A face-detection script in Python

Recommended Posts

Comparaison des performances du détecteur de visage avec Python + OpenCV
Détection de visage avec Python + OpenCV
Essayez la reconnaissance faciale avec python + OpenCV
Découpez le visage avec Python + OpenCV
Reconnaissance faciale avec caméra avec opencv3 + python2.7
Etude de base d'OpenCV avec Python
Détection de visage avec Python + OpenCV (rotation invariante)
[python, openCV] base64 Reconnaissance faciale dans les images
Comparaison de la vitesse de transposition de la matrice par Python
Hello World et détection de visage avec OpenCV 4.3 + Python
Binarisation avec OpenCV / Python
[OpenCV / Python] J'ai essayé l'analyse d'image de cellules avec OpenCV
Essayez de projeter la conversion d'image en utilisant OpenCV avec Python
[Ubuntu] [Python] Comparaison de la détection de visage entre dlib et OpenCV
[Windows] [Python] Calibrage de la caméra de l'objectif fisheye avec OpenCV
Comparaison de CoffeeScript avec la grammaire JavaScript, Python et Ruby
J'ai essayé la "conversion de morphologie" de l'image avec Python + OpenCV
Reconnaissance faciale avec OpenCV de Python
"Traitement Apple" avec OpenCV3 + Python3
Édition d'image avec python OpenCV
Capture de caméra avec Python + OpenCV
[Python] Utilisation d'OpenCV avec Python (basique)
Détection de visage avec Python + dlib
Comparaison de 4 types de frameworks Web Python
Reconnaissance faciale / coupe avec OpenCV
Essayez la reconnaissance faciale avec Python
Utiliser OpenCV avec Python @Mac
Détection de visage d'anime avec OpenCV
J'ai essayé la "correction gamma" de l'image avec Python + OpenCV
Un mémo lorsque le visage est détecté avec Python + OpenCV rapidement
Estimer la posture du marqueur AR avec Python + OpenCV + drone
[Python] Lecture facile des fichiers image du numéro de série avec OpenCV
Construction d'environnement de python et opencv
Détection de visage avec YOLO Face (Windows10, Python3.6)
[Python] Utilisation d'OpenCV avec Python (filtrage d'image)
Réseau neuronal avec OpenCV 3 et Python 3
[Python] Utilisation d'OpenCV avec Python (transformation d'image)
Détection de visage avec Lambda (Python) + Rekognition
[Python] Utilisation d'OpenCV avec Python (détection des bords)
Surveillez les performances des applications Python avec Dynatrace ♪
Premiers pas avec Python Bases de Python
Programmation facile Python + OpenCV avec Canopy
[OpenCV] Identification personnelle avec photo du visage
Jeu de vie avec Python! (Le jeu de la vie de Conway)
10 fonctions du "langage avec batterie" python
Charger une image gif avec Python + OpenCV
Implémentation de la méthode Dyxtra par python
Comparaison de la vitesse de la perspective XML Python
Trouver la similitude d'image avec Python + OpenCV
Utiliser OpenCV avec Python 3 dans Window
Dessinez une illustration avec Python + OpenCV
Coexistence de Python2 et 3 avec CircleCI (1.0)
Suivre les balles de baseball avec Python + OpenCV
Segmentation basée sur un graphique avec Python + OpenCV
J'ai essayé la reconnaissance faciale avec OpenCV
Dessinez une flèche (vecteur) avec opencv / python
[OpenCV; Python] Résumé de la fonction findcontours
Comparaison de vitesse du traitement de texte intégral de Wiktionary avec F # et Python
L'extraction de couleur avec Python + OpenCV a résolu le mystère du fond vert
Je veux vérifier la position de mon visage avec OpenCV!