Découpez le visage avec Python + OpenCV

Cible

Je souhaite implémenter la reconnaissance faciale avec TensorFlow. Je souhaite découper un visage d'une image pour collecter et normaliser les données de visage

Mémorandum sérieux

environnement

jupyter notebook OpenCV3.0 Python3.5

Placez Lena et haarcascade_frontalface_alt.xml dans le même répertoire que le fichier .py, ou réécrivez le chemin.

code

trimming.py


import cv2
import matplotlib.pyplot as plt
%matplotlib inline

#Chargement d'image
src_image = cv2.imread('lenna.jpeg')
#Convertir en échelle de gris
dst_image = cv2.cvtColor(src_image,cv2.COLOR_RGB2GRAY)
#Haar-comme le classificateur lu
cascade=cv2.CascadeClassifier("haarcascade_frontalface_alt.xml")
#Stocker les informations de coordonnées du visage détecté en cascade dans facerect
#[Coordonnée X supérieure gauche du quadrilatère,Coordonnée Y supérieure gauche du quadrilatère,Longueur de l'image du visage dans la direction de l'axe X,Longueur de l'image du visage dans la direction de l'axe Y]Je suis inquiet si c'est ici
facerect = cascade.detectMultiScale(dst_image, scaleFactor=1.1, minNeighbors=1, minSize=(1, 1))
#Lorsqu'un ou plusieurs visages sont détectés
if len(facerect) > 0:
    for rect in facerect:
        dst_image = dst_image[rect[1]:rect[1]+rect[3],rect[0]:rect[0]+rect[2]]
#Lorsqu'aucun visage n'est détecté
else:
    print("no face")
#Lorsque cela est fait, cela devient une échelle de gris. Mystère
dst_image = cv2.cvtColor(dst_image,cv2.COLOR_GRAY2RGB)

plt.imshow(dst_image)

Résumé

Lors de l'affichage d'une image couleur lue par imread () en échelle de gris avec imshow (), Il semble que vous deviez passer du RVB au gris avec cvtColor, puis du gris au RVB avec cvtColor à nouveau. Peut-être

J'ajouterai ce domaine dès que je le comprendrai.

PostScript 30/11/2016

Vous ne pouvez pas sauver ça, non? Voilà pourquoi J'ai créé un mécanisme pour couper et enregistrer. Dites adieu à Jupyter Je travaille sur PyCharm. pycharm pratique

trimming.py


import cv2

cascade_path = "./haarcascades/haarcascade_frontalface_alt.xml"
origin_image_path = "Chemin du dossier d'image"
dir_path = "Chemin de destination de l'enregistrement de l'image"

i = 0

for line in open('Chemin du fichier texte','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:
            #Découpez seulement le visage et enregistrez
            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'
            #Enregistrer les résultats de la reconnaissance
            cv2.imwrite(save_path, dst)
            print("save!")
            i += 1
print("Finish")

Vous pouvez écrire ligne par ligne dans le texte en faisant `` $ ls> hoge.txt '' dans le dossier contenant les images. Tout en lisant le nom de l'image écrite, ouvrez-la, coupez-la et enregistrez-la.

rstrip () L'image ne peut pas être lue pour une raison quelconque à moins qu'elle ne soit mordue. .. ..

Mais n'est-ce pas quelque chose comme redimensionner l'image? (Continuer)

Site de référence

Découpez une partie de la statue et économisez http://clngn.hatenablog.com/entry/20120113/1326442326 Jouez avec Python -part1- (Reconnaissance faciale avec 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

Découpez le visage avec Python + OpenCV
Détection de visage avec Python + OpenCV
Découpez une image avec python
Essayez la reconnaissance faciale avec python + OpenCV
Reconnaissance faciale avec caméra avec opencv3 + python2.7
Découpez une image d'une vidéo toutes les secondes avec Python + OpenCV
Détection de visage avec Python + OpenCV (rotation invariante)
[python, openCV] base64 Reconnaissance faciale dans les images
Binarisation avec OpenCV / Python
Hello World et détection de visage avec OpenCV 4.3 + Python
Comparaison des performances du détecteur de visage avec Python + OpenCV
Détection de visage à partir de plusieurs fichiers image avec openCV, découpez et enregistrez
Reconnaissance faciale avec OpenCV de Python
[Python] Utilisation d'OpenCV avec Python (basique)
Détection de visage avec Python + dlib
Reconnaissance faciale / coupe avec OpenCV
Essayez la reconnaissance faciale avec Python
Utiliser OpenCV avec Python @Mac
Détection de visage d'anime avec OpenCV
Briller la vie avec 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)
Un mémo lorsque le visage est détecté avec Python + OpenCV rapidement
Programmation facile Python + OpenCV avec Canopy
[OpenCV] Identification personnelle avec photo du visage
Charger une image gif avec Python + OpenCV
Trouver la similitude d'image avec Python + OpenCV
Utiliser OpenCV avec Python 3 dans Window
Dessinez une illustration avec Python + OpenCV
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
Etude de base d'OpenCV avec Python
[Python] Détection de visage par OpenCV (Haar Cascade)
Enregistrer la vidéo image par image avec Python OpenCV
Capturer des images avec Pupil, python et OpenCV
J'ai essayé le rendu non réaliste avec Python + opencv
Traitement d'image avec Python et OpenCV [Tone Curve]
Acquisition d'images depuis une caméra avec Python + OpenCV
Créez diverses vidéos Photoshop avec Python + OpenCV ③ Créez diverses vidéos Photoshop
[Python] Lire des images avec OpenCV (pour les débutants)
API de reconnaissance faciale sans serveur conçue avec Python
Découpez et connectez des images avec ImageMagick
Jusqu'à ce que vous puissiez utiliser opencv avec python
Traitement d'image léger avec Python x OpenCV
Lissage des bords enregistrés avec python + OpenCV (BilateralFilter, NLMeansFilter)
FizzBuzz en Python3
Grattage avec Python
Statistiques avec python
Python2.7 + CentOS7 + OpenCV3
Grattage avec Python
Python avec Go
Twilio avec Python
Intégrer avec Python
Jouez avec 2016-Python
AES256 avec python