Aplicación para la Manipulación de Interfaces Gráficas de OS por medio de Gestos Manuales. Yeison N. Cardona A. 808511 Lina M. Castro R. 810014 Santiago Tabares M. 810561 Jeffry A. Giraldo R. 808530 Universidad Nacional de Colombia sede Manizales Universidad Nacional de Colombia sede Manizales Señales y Sistemas Señales y Sistemas
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Aplicación para la Manipulación de Interfaces Gráficas de OS por medio de Gestos Manuales.
Yeison N. Cardona A. 808511Lina M. Castro R. 810014
Santiago Tabares M. 810561Jeffry A. Giraldo R. 808530
Universidad Nacional de Colombia sede ManizalesUniversidad Nacional de Colombia sede ManizalesSeñales y SistemasSeñales y Sistemas
22
Imagen OriginalImagen Original
● Python, OpenCV● 8 FPS
33
Desenfoque GausianoDesenfoque Gausiano
● Eliminar el ruido y reducir pequeños detalles.
44
Filtro de PielFiltro de Piel
● Se cambia la imagen a un modelo HSV (para hacer más fácil la manipulación) y se filtra desde una escala inferior a una mayor.
● El resultado del filtro es una imagen binaria.
● Por lo general la imagen resultante contiene muchas regiones aisladas, éstas se eliminan en filtros siguientes.
55
ErosiónErosión
● Quita la capa externa de píxeles del objeto, es decir, el objeto se hace en un poco más pequeño.
● Suaviza límites del objeto.
● Elimina los píxeles aislados ruidosos.
66
DilataciónDilatación
● Añade un anillo extra exterior de píxeles en los límites del objeto, es decir, el objeto se hace en un poco más grande.
● Suaviza los bordes del objeto.
● Rellena agujeros.
77
Hallado de ContornosHallado de Contornos
● La búsqueda se realiza sistemáticamente sobre cada píxel de la imagen.
● En caso de encontrar un píxel objetivo (valor mayor que 0) se guarda y se continúa analizando sus vecinos (8-conectados, es decir, en cruz y en aspa).
● De este modo se van guardando únicamente los puntos contiguos, externos.
88
Rellenado de ContornosRellenado de Contornos
● Se encargan de encontrar regiones conexas y dibujarlas.
99
ConvexidadesConvexidades
● Se hayan las convexidades mas significativas, que en este caso están representadas por cada dedo extendido.
1010
DefectosDefectos
● Se calculan los defectos de convexidad, es decir, los puntos pertenecientes al contorno inicial que difieren de los del recubrimiento.
1111
CentroideCentroide
● Se puede considerar el centroide como el centro de un rectángulo inclinado mínimo que contenga un área específica.
1212
Unión Convexidad-DefectoUnión Convexidad-Defecto
● La conexión de los puntos de convexidad y los defectos.
1313
Discriminación de DedosDiscriminación de Dedos
● Se calculan los ángulos entre las trayectorias convexidad-defecto-convexidad, si es menor a 90 grados, entonces podría tratarse de un dedo.
1414
Controles en Tiempo RealControles en Tiempo Real
Todos los parámetros de los filtros se pueden editar en tiempo real.
1515
Interpretación de ComandosInterpretación de Comandos
Dos dedos: Cursor liberado
Un dedo: Cursor capturado
Cinco dedos: Click Izquierdo
Tres dedos: Click Derecho
● La implementación de comandos se hace con el paquete xdotool para GNU/Linux.
● Xdotool permite emular pulsaciones de teclado y eventos de cursor.
● Se necesitan al menos 3 capturas antes de validar un comando.