Cette fois, je voudrais vous présenter comment installer le détecteur Cascade utilisé pour la détection de visage.
MacOS, Python3.6(anaconda), VSCode
① Sélectionnez le fichier Cascade requis dans Github Repository ② Ouvrez le fichier et cliquez sur Raw ③ Sur l'écran ouvert, faites un clic droit et enregistrez-le dans votre emplacement préféré.
Voici la procédure.
Voici l'article auquel j'ai fait référence cette fois. Détection de visage et détection de pupille avec Python, OpenCV (reconnaissance de visage, reconnaissance de pupille)
xml_path_list = ["./haarcascade_frontalface_default.xml",
"./haarcascade_frontalface_alt.xml",
"./haarcascade_frontalface_alt_tree.xml",
"./haarcascade_frontalface_alt2.xml"]
Cette fois, j'ai pensé que j'utiliserais ces quatre, mais j'ai utilisé les trois autres car la taille du fichier ** "./haarcascade_frontalface_alt_tree.xml" ** était trop grande pour être installée.
Je pense que le défaut était le plus précis. J'avais l'impression que alt reconnaissait parfois des parties supplémentaires qui n'étaient pas des visages, et que alt2 parfois ne reconnaissait pas même s'il s'agissait d'un visage.
Cette fois, j'ai fait un carré autour de l'endroit où le visage a été détecté, je vais donc également décrire comment le faire.
if len(face_points) == 0:
quit()
for x, y, width, height in face_points: #Obtenir les points de coordonnées de la zone du visage
color = (0, 0, 100)
pen_w = 9
cv2.rectangle(img, (x, y), (x+width, y+height), color, thickness = pen_w)
cv2.imwrite('mosaic' + str(mosaic_num) + str(cnt) + '.jpg', img) #Enregistrer l'image
Tout d'abord, utilisez l'instruction if pour déterminer si le visage peut être détecté avec ** detectMultiScale **. Sinon, ça s'arrête là.
Et le code entouré d'un carré est dans l'instruction for. Spécifiez le type de ligne à encadrer avec ** cv2.rectangle **.
Cette fois, j'ai expliqué comment installer le détecteur Cascade. C'est pratique car il le détecte automatiquement sans que vous n'ayez à écrire vous-même le code de détection de visage. J'ai également utilisé ceci pour la première implémentation.
De plus, nous avons pu l'implémenter en l'enfermant dans un carré. Ceci est pratique car vous pouvez juger en un coup d'œil si le visage peut être détecté correctement. J'ai trouvé cela amusant car je pouvais voir le résultat du traitement d'image dès que je l'ai exécuté.
Recommended Posts