[PYTHON] J'ai créé un classificateur de visage Dir en gray en utilisant l'extraction de visage TensorFlow-④

introduction

――Vous pouvez l'exécuter sans trop connaître les caractéristiques d'OpenCV, mais la clé est de savoir si OpenCV peut être lu normalement.

programme

face_detect.py


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

import cv2
import numpy as np
import os.path
from pathlib import Path

#Répertoire avec les données d'image collectées précédemment
input_data_path = '{Chemin du répertoire}'

#Répertoire pour enregistrer l'image recadrée
save_path = '{Chemin du répertoire}'
#Créer un répertoire de destination
Path(save_path).mkdir(parents=True, exist_ok=True)

#Chemin du classificateur par défaut OpenCV.(https://github.com/opencv/opencv/blob/master/data/haarcascades/haarcascade_frontalface_default.Utiliser un fichier xml)
cascade_path = '/usr/local/Cellar/opencv3/3.2.0/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml'
faceCascade = cv2.CascadeClassifier(cascade_path)

#Nombre d'images collectées(Changement facultatif)
image_count = 1100

#Nombre de détections de visage réussies(Spécifiez 0 par défaut)
face_detect_count = 0

#Lorsqu'un visage est détecté à partir des données d'image collectées, coupez-le et enregistrez-le.
for i in range(image_count):
  file_name = input_data_path + str(i) + ".jpg "
  if os.path.isfile(file_name):
    img = cv2.imread(file_name, cv2.IMREAD_COLOR)
    assert img is not None, Path(file_name).absolute()
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    face = faceCascade.detectMultiScale(gray, 1.1, 3)

    if len(face) > 0:
      for rect in face:
        #Entourez la partie de reconnaissance faciale d'une ligne rouge et enregistrez(Je n'ai pas besoin de cette partie maintenant)
        # cv2.rectangle(img, tuple(rect[0:2]), tuple(rect[0:2]+rect[2:4]), (0, 0,255), thickness=1)
        # cv2.imwrite('detected.jpg', img)
        x = rect[0]
        y = rect[1]
        w = rect[2]
        h = rect[3]

        cv2.imwrite(save_path + '{nom de fichier}' + str(face_detect_count) + '.jpg', img[y:y+h, x:x+w])
        face_detect_count = face_detect_count + 1
    else:
      print('image' + str(i) + ':No Face')
  else:
      print('image' + str(i) + ':No File')

Courir

python face_detect.py

Suppléments et excuses

--trouver et rechercher haarcascade_frontalface_default.xml. --Il existe certains fichiers dont les images ne peuvent pas être lues correctement. Il y en a pas mal. --Il existe des fichiers dont vous pouvez lire l'image mais qui ne peuvent pas bien extraire le visage, veuillez donc les supprimer à la main.

Tous les liens de page

Recommended Posts

J'ai créé un classificateur de visage Dir en gray en utilisant l'extraction de visage TensorFlow-④
J'ai créé un classificateur de visage Dir en gray en utilisant TensorFlow - (1) Introduction
J'ai créé un classificateur de visage Dir en gray en utilisant TensorFlow - Test de classification de visage
J'ai créé un classificateur de visage Dir en gray en utilisant TensorFlow --⑥ Programme d'apprentissage
J'ai essayé de faire un classificateur de visage Dir en gris en utilisant TensorFlow --⑬ Jouer (final)
J'ai créé un classificateur de visage Dir en gray en utilisant TensorFlow --⑫ Version Web
J'ai créé un classificateur de visage Dir en gray en utilisant TensorFlow --② Construction de l'environnement
J'ai créé un classificateur de visage Dir en gray en utilisant TensorFlow - Préparation de la version Web
J'ai fait un modèle VGG16 en utilisant TensorFlow (en chemin)
J'ai fait un Line-bot avec Python!
Créer un outil de reconnaissance de visage à l'aide de TensorFlow
Détection de visage à l'aide d'un classificateur en cascade
J'ai essayé de jouer au jeu ○ ✕ en utilisant TensorFlow
Débutant: j'ai créé un lanceur à l'aide d'un dictionnaire
J'ai créé un jeu ○ ✕ avec TensorFlow
〇✕ J'ai fait un jeu
J'ai effectué un processus de connexion / déconnexion en utilisant Python's Bottle.
[Python] J'ai créé un classificateur pour les iris [Machine learning]
J'ai créé un jeu d'introduction au festival scolaire avec Ren'py
J'ai créé un lecteur de flux rapide en utilisant feedparser en Python
J'ai essayé d'héberger un modèle d'apprentissage en profondeur de TensorFlow à l'aide de TensorFlow Serving
J'ai essayé de faire un diagnostic de visage AI pour les golfeuses professionnelles ③
J'ai créé une application d'estimation de l'entraînement musculaire à l'aide du SDK Qore
J'ai créé Chatbot en utilisant l'API LINE Messaging et Python
J'ai essayé la reconnaissance faciale avec Face ++
J'ai fait un texte Python
J'ai essayé d'utiliser magenta / TensorFlow
J'ai fait un robot discord
J'ai essayé de marquer un concours de travesti en utilisant l'API Detect de Face ++
J'ai créé un chat-holdem de serveur de jeu de poker en utilisant websocket avec python
J'ai créé Chatbot en utilisant l'API LINE Messaging et Python (2) ~ Server ~
[Kaggle] J'ai fait une collection de problèmes en utilisant le didacticiel Titanic
J'ai créé un site d'apprentissage C ++
J'ai créé un script de traduction basé sur CUI (2)
J'ai fait une loterie avec Python.
J'ai créé un script de traduction basé sur CUI
J'ai créé un démon avec Python
J'ai essayé de transformer l'image du visage en utilisant sparse_image_warp de TensorFlow Addons
Création d'un modèle de discrimination d'image (cifar10) à l'aide d'un réseau neuronal convolutif