viernes, 7 de octubre de 2016

reconocer rostro con python

LO NECESARIO:

Python en Windows


Para trabajar con OpenCV necesitamos la versión 2.7.x de python, hasta el momento no es compatible con la versión 3.
Podemos obtener Python aquí: Python 2.7.4 
Lo instalamos como hacemos con cualquier otro programa. Es recomendable instalarlo en la ruta C:\

NumPy en Python 2.7.4


Lo siguiente que necesitamos es la librería numpy la cual es necesaria para poder trabajar con OpenCV.
Puedes descargarla aquí: NumPy 1.7.1 pero si no funciona esta version buscan la 1.8
La instalamos como cualquier otro programa, nos preguntara la ruta donde instalamos Python27.

OpenCV en Window


Ahora solo debemos descargar OpenCV la versión para windows la podemos descargar en la siguiente dirección: OpenCV for Windows
Este es un archivo comprimido los ejecutamos y comenzara la extracción en la carpeta indicada, por ejemplo C:\ es la ruta de instalación recomendada.
Una vez terminado es proceso vamos a la carpeta C:\opencv\build\python\2.7 aquí encontraremos el archivo cv2.pyd, lo copiamos y lo pegamos en C:\Python27\Lib\site-packages.

Si todo está correcto podremos ejecutar el siguiente código python:

import numpy
import cv2

print("Version NumPy: " + numpy.__version__)
print("Version OpenCV: " + cv2.__version__)

este es el codigo demora un poco en reconocer la camara dependiendo de su computadora

###################################################################

import numpy as np

import cv2

#cargamos la plantilla e inicializamos la webcam:
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt.xml')
cap = cv2.VideoCapture(0)

while(True):
    #leemos un frame y lo guardamos
    ret, img = cap.read()

    #convertimos la imagen a blanco y negro
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

    #buscamos las coordenadas de los rostros (si los hay) y
    #guardamos su posicion
    faces = face_cascade.detectMultiScale(gray, 1.3, 5)

    #Dibujamos un rectangulo en las coordenadas de cada rostro
    for (x,y,w,h) in faces:
        cv2.rectangle(img,(x,y),(x+w,y+h),(125,255,0),2)
        cv2.rectangle(img,(x,y),(x+w,y+h),(50,55,0),1)

    #Mostramos la imagen
    cv2.imshow('img',img)
    
    #con la tecla 'q' salimos del programa
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
cap.release()
cv2.destroyAllWindows()
####################################################################

Nota: los archivos haar se encuentran en C:\opencv\build\etc\haarcascades estos archivos se utilizan para los patrones de reconocimiento

he tomado como referencia algunos ejemplos:http://docs.opencv.org/3.0-beta/doc/py_tutorials/

No hay comentarios:

Publicar un comentario