Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
import cv
import numpy as np
class Detectar(object):
def __init__(self):
self.camara = cv.CreateCameraCapture(0)
def get_image(self):
im = cv.QueryFrame(self.camara)
return im
def loop(self):
# Creamos una copia para poderla modificar
captura = self.detectar(self.get_image())
cv.ShowImage("!Lies - eyes", captura)
def detectar(self, imagen):
copia = cv.CloneImage(imagen)
# Tomamos imagen
dimensiones = cv.GetSize(copia)
# La transformamos a escala de grises para mayor rapidez
grises = cv.CreateImage(dimensiones, 8, 1)
cv.CvtColor(copia, grises, cv.CV_RGB2GRAY) # cv.CvtColor(src, dst, code)
storage = cv.CreateMemStorage() # video
# Ecualizamos el histograma
cv.EqualizeHist(grises, grises)
#Suavizo la imagen para eliminar el ruido
cv.Smooth(grises, grises, cv.CV_GAUSSIAN,5,5)
# Cargamos el fichero cascada para ojos
ojos = cv.Load("./haarcascade_eye_tree_eyeglasses.xml")
# Reconocemos los objetos
objOjo = cv.HaarDetectObjects(copia, ojos, storage, 1.1, 2, 0, (120, 120))
#print objOjo
if objOjo:
for i in objOjo:
#print "Obejto detectado:", str(i)
cv.Rectangle(copia, ( i[0][0], i[0][1]), ((i[0][0] + i[0][2]), (i[0][1] + i[0][2])), cv.RGB(0, 255, 0), 2, 8, 0)
center_point = ((i[0][0]*2 + i[0][2])/2, (i[0][1]*2 + i[0][2])/2 )
cv.Circle(copia, center_point, 10, cv.CV_RGB(255, 100, 0), 1)
return copia
def main(self):
while (cv.WaitKey(15)==-1):
self.loop()
cv.NamedWindow("!Lies - eyes")
Detectar().main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment