Ceci est une ancienne révision du document !
Table des matières
Présentation du projet
Le but de se projet est de pouvoir détecter les visages sur des photos ou vidéos.
Outils requis et Librairies Python
Ce programme se base sur la méthode de Viola et Jones donc de ce fait, on a besoin de télécharger le fichier “haarcascade_frontalface_alt.xml”
Nous allons aussi utiliser différentes librairies de python tel que:
import cv2 import numpy as np import sys import os
Explication du programme
La première fonction à faire est la plus importante, il s'agit de la fonction qui va permettre de détecter les visages sur l'image. Elle prend en entrée une image et retourne l'image et un tableau de tableau contenant chacun les coordonnées des différents visages sur l'image.
def detectionVisage(img): cascade = cv2.CascadeClassifier("/home/pujol/Documents/L3/BE/haarcascade_frontalface_alt2.xml") imgGray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) visage = cascade.detectMultiScale(imgGray, 1.2, 4,minSize=(20, 20)) if len(visage) == 0: return [],img visage[:,2:] += visage[:,:2] return visage,img
La conversion en image de gris permet de faciliter la détection de visage.
Ensuite la fonction suivante, va permettre d'encadrer les différents visages en prenant entrée le tableau de visage et l'image. Elle retourne l'image modifié.
def rect(visage,img): for x,y,h,w in visage: cv2.rectangle(img, (x, h), (y, w), (255, 0, 0), 3) return img