Skip to content

LuisAlejandroSalcedo/Deteccion-de-Rostros-con-Python

Repository files navigation

Detección de Rostros con Python y OpenCV

La Detección de objetos usando los clasificadores en cascada basados en características de Haar es un método efectivo de detección de objetos propuesto por Paul Viola y Michael Jones en su artículo, "Detección rápida de objetos usando una cascada aumentada de características simples" en 2001. Es un enfoque basado en el aprendizaje automático donde La función de cascada se entrena a partir de muchas imágenes positivas y negativas. Luego se utiliza para detectar objetos en otras imágenes.

Primero necesitamos cargar los clasificadores XML requeridos. Luego cargar nuestra imagen de entrada (o video) en modo de escala de grises.

import numpy as np
import cv2

face_cascade = cv.CascadeClassifier ( 'haarcascade_frontalface_default.xml' )
eye_cascade = cv.CascadeClassifier ( 'haarcascade_eye.xml' )
img = cv.imread ( 'img_face.png' )
gris = cv.cvtColor (img, cv.COLOR_BGR2GRAY)

Luego utilizamos las coordenadas proporcionadas por el método "detectMMultiScale" para dibujar rectagulos en los rostros encontrados.

faces = faces_cascade.detectMultiScale(gris, 1.3,5 )

for (x, y, w, h) in faces:
    cv.rectangle (img, (x, y), (x + w, y + h), (255,0,0), 2)
    roi_gray = gris [y: y + h, x: x + w]
    roi_color = img [y: y + h, x: x + w]
    eyes = eye_cascade.detectMultiScale (roi_gray)
    for (ex, ey, ew, eh) in ojos:
        cv.rectangle (roi_color, (ex, ey), (ex + ew, ey + eh), (0,255,0), 2)
        
cv.imshow( 'img' , img)
cv.waitKey(0)
cv.destroyAllWindows()

resultado

About

Programa para la Detección de Rostros utilizando Python y OpenCV.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages