[PYTHON] [Mémorandum] Une histoire sur l'essai du didacticiel OpenCV (reconnaissance faciale) dans un environnement Windows

Il y a une consultation pour savoir si vous pouvez rechercher le texte intégral du dessin dans la consultation du système de recherche. J'ai essayé un tutoriel OpenCV pour vérifier la précision de réalisation.

Ce qui suit est un mémorandum de procédure que j'ai pris

** Supposition ** OS:   Windows10 64bit

Python:  Python3.7(Anaconda3)

Cible De la création d'un environnement OpenCV à la réalisation d'un tutoriel simple (je souhaite faire de la reconnaissance faciale pour le moment)

Préparation

Installation d'Anaconda

https://www.anaconda.com/products/individual

image.png

Télécharger OpenCV whl

https://opencv.org/releases/

・ Cliquez sur RELEASES dans l'onglet ci-dessus. · OpenCV - Cliquez sur Sources pour 4.2.0 -Décompressez le zip et sortez opencv_python- 4.2.0-cp37-cp37m-win_amd64.whl

Créez un environnement OpenCV avec le navigateur d'Anaconda

image.png

image.png

Installez numpy et matplotlib

conda install numpy
pip install matplotlib

image.png

★ Articles mentionnés jusqu'à présent Articles mentionnés lors de la construction de la fondation https://qiita.com/FukuharaYohei/items/5d49938ffd33d198f0c0

Articles mentionnés pour les contre-mesures contre les erreurs du classificateur en cascade http://sh0122.hatenadiary.jp/entry/2017/10/30/210411

Didacticiel

Je vais l'essayer à titre d'essai, donc j'essaierai d'abord la reconnaissance faciale. Une fois que vous avez compris les bases, tout ce que vous avez à faire est de personnaliser les bases.

Obtenez des fichiers en cascade

Il s'agit d'un fichier xml qui regroupe les données ayant déjà appris les fonctionnalités requises pour la classification et la reconnaissance. Cette fois, "haarcascade_frontalface_default.xml" est utilisé pour la reconnaissance faciale. https://github.com/opencv/opencv/blob/master/data/haarcascades/haarcascade_frontalface_default.xml

Photos utilisées pour la reconnaissance faciale

La photo utilisée cette fois est ma propre photo qui a été soigneusement traitée avec SNOW. Pouvez-vous reconnaître cela ...? image.png

Ecrivez le code python Ecrivez le processus suivant avec le nom test.py

import cv2

#Trieur
cascadeFile = "C:\imagepy\haarcascade_frontalface_default.xml"

#Paramètres du classificateur
cascade = cv2.CascadeClassifier(cascadeFile)

#Fichier d'entrée
imageImput ="C:\imagepy\myface.jpg "

#Lire le fichier d'entrée
image = cv2.imread(imageImput)

#Faites-en une échelle de gris
imageGray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

#Fichier de sortie
imageOutput = "C:\imagepy\out.jpg "

#Reconnaître le visage
facerect = cascade.detectMultiScale(imageGray, scaleFactor=1.1, minNeighbors=2, minSize=(30, 30))

#Traitement lorsqu'un visage peut être détecté
if len(facerect) > 0:

    #Mettre un cadre sur le visage
    for rect in facerect:
        cv2.rectangle(image, tuple(rect[0:2]),tuple(rect[0:2]+rect[2:4]), (255, 255, 255), thickness=2)

    #Enregistrez le résultat sous forme d'image
    cv2.imwrite(imageOutput, image)

Essayez d'exécuter test.py

image.png

Il semble que même ma propre photo traitée avec SNOW soit reconnue comme un visage

image.png

Nous avons terminé la mise en œuvre du tutoriel, ce qui est notre objectif. La prochaine fois, j'aimerais reconnaître les symboles et les objets du dessin et le rendre consultable en texte intégral.

Je ne peux pas le tester avec les dessins que j'utilise au travail, alors je me demande si je devrais viser un état où je peux rechercher le texte intégral en reconnaissant les symboles sur la carte. .. ..

Recommended Posts

[Mémorandum] Une histoire sur l'essai du didacticiel OpenCV (reconnaissance faciale) dans un environnement Windows
Une histoire sur la façon dont les utilisateurs de Windows 10 ont créé un environnement pour utiliser OpenCV3 avec Python 3.5
Une histoire sur la tentative d'implémentation de variables privées en Python.
Une histoire d'essayer d'exécuter JavaScripthon sur Windows et d'abandonner.
Une histoire sur la création d'un environnement IDE avec WinPython sur un ancien système d'exploitation Windows.
Échapper à l'environnement virtuel de Python ~ Une histoire sur le fait d'être piégé dans un environnement virtuel que j'ai créé ~
Pensez à créer un environnement Python 3 dans un environnement Mac
Une histoire sur la tentative d'introduire Linter au milieu d'un projet Python (Flask)
Une histoire d'essayer un monorepo (Golang +) Python avec Bazel
Une histoire qui reflète l'activité Discord dans Slack Status
Une histoire sur un débutant Linux passant LPIC101 en une semaine
Une histoire sur un débutant Linux mettant Linux sur une tablette Windows
Un mémorandum sur Nan.
virtualenvwrapper dans l'environnement Windows
L'histoire de PHP qui était correcte dans l'environnement de développement mais boguée dans l'environnement de production LEVEL1 ~ 3 + 1
[Note] Une histoire sur la tentative de remplacer une méthode de classe avec deux barres inférieures dans la série Python 3.
[Django] Une histoire sur le fait de rester coincé dans un marais en essayant de valider un zip avec un formulaire [TDD]
J'ai essayé l'algorithme de super résolution "PULSE" dans un environnement Windows
Une histoire sur la façon de spécifier un chemin relatif en python.
Une histoire de compétition avec un ami dans Othello AI Preparation
Une note quand j'ai touché l'API de reconnaissance faciale de Microsoft avec Python
Une histoire sur une tragédie qui se passe en échangeant des commandes dans le chat
Reconnaissance faciale avec OpenCV de Python
Mémorandum sur la corrélation [Python]
Un mémorandum sur le simulacre de Python
Reconnaissance faciale / coupe avec OpenCV
Une histoire d'essayer d'automatiser un chot lorsque vous cuisinez vous-même
Que diriez-vous d'Anaconda pour créer un environnement d'apprentissage automatique avec Python?
Une histoire sur une erreur de construction dans une bibliothèque partagée qui fait référence à libusb
Une histoire sur la tentative d'exécuter plusieurs versions de Python (édition Mac)
Une histoire d'essayer d'améliorer le processus de test d'un système vieux de 20 ans écrit en C