Python R2


Moviendo la cabeza moviendo el mouse

Posted in Python por Arturo Elias Antón en 17 enero 2009
Tags: , , , , , ,

En esta oportunidad quiero compartir un video de un programita que estoy haciendo para mover el Mouse de la con la cabeza. Aunque verdaderamente es un poco rudimentario funciona bastante bien y espero sus comentarios.
Para mover el Mouse no se necesita más que una WebCam.

http://www.youtube.com/watch?v=Q8_To4EO18w

Acá si bien no esta pulido y es bastante feo, les dejo el código 😉
Download del pyMouse.py

Como siempre espero que les guste 😉

Anuncios

12 comentarios to 'Moviendo la cabeza moviendo el mouse'

Subscribe to comments with RSS o TrackBack to 'Moviendo la cabeza moviendo el mouse'.

  1. shakaran said,

    Una pena que solo funcione para windows.

    Saludos

  2. Pepe Cardenas said,

    muy bueno artur, pensa que hace tiempo que estan dando vuelta con eso y no lo logran, serà de gran ayuda para gente con poca movilidad, si lo afinas a que siga el movimiento de los ojos, o que reconozca los gestos de la cara serà un golazo, nuevamente te felicito sos un capo.
    PP!

  3. Tordek said,

    Hay un bug en tu función de pixelFiablePiel:

            for x in range (xori,xfin):
                    for y in range (yori,yfin):
                            try:
                                    zona.append(im.getpixel((x,y)))
                            except:
                                    return False
    
    		for i in zona:
                            for fx in fxs:
                                    if not fx(i[0],i[1],i[2]):
                                            return False
    		return True
    	return False
    

    El for i in zona: está una indentación muy adentro, haciendo que el “return True” quede adentro del for x, así que sólo revisas la primera columna de píxeles de piel.

  4. Arturo Elias Anton said,

    Hola y gracias Tordek
    Un Parche rapido podria ser este

            for x in range (xori,xfin):
                    for y in range (yori,yfin):
                            try:
                                    zona.append(im.getpixel((x,y)))
                            except:
                                    return False
    
    	for i in zona:
                    for fx in fxs:
                            if not fx(i[0],i[1],i[2]):
                                    return False
    
            if zona == []:
                    return False
            else:
                    return True
    

  5. Tordek said,

    No entiendo para qué envolves el append en un try/catch;

    Además, podría ser (aunque, la verdad, queda un poco feo):

    def pixelFiablePiel(fxs, r, im, X, Y):
            xsize, ysize = im.size
            xori = X - r
            yori = Y - r
            xfin = X + r
            yfin = Y + r
    
            if xori < 0: xori = 0
            if yori  xsize: xfin = xsize
            if yfin > ysize: yfin = ysize
    
            for x in range(xori, xfin):
                    for y in range(yori, yfin):
                            r, g, b = im.getpixel((x, y)))
                            for fx in fxs:
                                    if not fx(r, g, b):
                                            return False
            return True
    

    No hay ningun caso donde zona quede vacío; además, se vuelve innecesario (sólo te importa que todos los puntos de alrededor sean piel; no cuales son).

  6. Shiny said,

    Muy bueno, ayer cuando me lo pasaste lo primero que hice fue mostrarle a mi novia la maravilla que habias desarrollado.
    segui asi, como te dije, sos groso, sabelo =P

  7. Julian said,

    Uh q buena onda. Justo que me acabo de comprar una camarita… re da para probar!. Congratulations.

  8. tommy said,

    hola hermano pues bueno me gusta, esa idea de tomar datos desde una web cam pero la nota es como hago para capturar datos soy principiante y esperoque me des una enpujadita, porque quiero hacer un programita con accesorios con conector usb espero una respuesta bye cuidate

  9. Andrea said,

    Buenas Noches,
    Te quería preguntar si sabes si es posible manejar el mouse con python pero no moviendo la cabeza sino con el movimiento de los ojos.
    Gracias,
    Saludos

  10. Jessica said,

    Tienes las librerias que usaste?? y como las instalo?

    • arturoeanton said,

      jessica lla verdad ya ni recuerdo donde tengo esas librerias pero apenas las encuentre te las paso.
      mañana me voy a poner en campaña para buscarlas te prometo.
      la vercion de linux con opencv esta mejor documentada te racomiendo que la mires si tenes linux.

  11. Juan said,

    Como hago para descargar el archivo?


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: