Introducción al Lenguaje Processing Por: M.I.A. Pedro García Guerrero Temario: • • • • • • Antecedentes Presente Competencia Kinect para windows Processing OpenCV Processing • Processing es un dialecto de Java específicamente diseñado para el desarrollo de arte gráfico, animaciones y aplicaciones gráficas de todo tipo. • Processing es software libre, disponible en las plataformas donde Java está disponible (Mac OS, Linux, Windows etc.) Processing … • Desarrollado a partir del 2001 en el MIT por Casey Reas y Ben Fry. • Inspirado en DBN (Design By Numbers) de John Maeda • Portal: http://processing.org Ventajas • Muy, pero que muy fácil de aprender. Dispone de su propio IDE de desarrollo. • Mejor curva de aprendizaje que OpenGL + GLUT u otras alternativas. • Potente, pero que muy potente. Permite desarrollar aplicaciones desde muy sencillas a muy complejas. Ventajas … • Escalable. Se puede combinar programación con processing con Java puro y las librerías propias de Java. Una aplicación Java ‘pura’ también puede usar las librerías de processing. • Permite 3 formas de programar: básica, procedural/estructurada y orientada a objetos. • Finalmente, se puede desarrollar en java ‘puro’ y usar librerías de processing y otros entorno (eclipse, netbeans etc.) Ventajas • Es posible desarrollar aplicaciones para dispositivos móviles (http://mobile.processing.org) • Conexión con dispositivos y prototipos electrónicos: proyectos Arduino y Wiring (http://hardware.processing.org) IDE … El lenguaje… • Ejemplo 1: – line(0,0,50,50); • Ejemplo 2: – int i; – background(0); // pantalla a negro – stroke(255); // trazo de color blanco – for (i = 0; i <= 50; i++) – point(i, i); ¿Qué es? El sensor de Kinect es una barra horizontal de aproximadamente 23 cm (9 pulgadas) conectada a una pequeña base circular con un eje de articulación de rótula, y está diseñado para ser colocado longitudinalmente por encima o por debajo de la pantalla de vídeo. Que hace? • Permite a los usuarios controlar e interactuar con la consola sin necesidad de tener contacto físico con un controlador de videojuegos tradicional, mediante una interfaz natural de usuario que reconoce gestos, comandos de voz, y objetos e imágenes. ¿Cómo lo hace? • Hardware – – – – – Cámara RGB Sensor de profundidad Matriz de micrófonos Procesador personalizado Inclinación motorizada • Software: – Requieren al menos 190 MB de espacio de almacenamiento disponible. – El software es patentado. Partes del Sensor Kinect Capacidades • Captura de movimiento de todo el cuerpo en 3D. • Funcionalidad de seguimiento usando giro motorizado para ajustar la cámara para que el usuario se mantenga en el marco, incluso cuando se mueve. • Reconocimiento facial. • Reconocimiento de voz. • Localización de la fuente acústica • Supresión del ruido ambiente Historia • Microsoft Research invirtió veinte años de desarrollo en la tecnología de Kinect. • Kinect fue anunciado por primera vez el 1 de junio de 2009 en la Electronic Entertainment Expo 2009 como "Project Natal". HiED • Carlos Anzola, un inventor, un de Bogotá, Colombia, había estado trabajando durante años en una interfaz de gesto casi idéntico para el PC. • Su creación, el dispositivo electrónico de interfaz humana, o HiE D (por sus siglas en ingles, Human interface Electronic Device)- se pronuncia "Heidi" - era capaz de reconocer gestos años antes de que Microsoft lanzaría el Kinect. Competencia • Creative Labs, en colaboración con Intel, desarrolló la Creative Interactive Gesture Camera, la cual es de bajo consumo de energía, con poco peso, que busca que el usuario tenga interacción con la computadora a través de gestos, ya sea en máquinas de escritorio, laptops e incluso, ultrabooks. La cámara tiene resolución HD (720p) y un sensor de profundidad QVGA, así como un arreglo de micrófonos duales para capturar y reconocer gestos, voz y detección de rostros. • Leap Motion, y es un cuadrito de la mitad del tamaño de un Kinect y tiene una precisión milimétrica incomparable. • SoftKinetic ha presentado en el Computex de Taipéi su DepthSense 325. Lo mejor es su capacidad para detectar y reconocer las dos manos simultáneamente a una distancia de 10 centímetros. • Además, también es capaz de diferenciar los dedos de la mano, obteniendo así múltiple puntos de referencia para aplicaciones que lo requieran. También, al igual que Kinect, es capaz de detectar la voz e interactuar con ella. Kinect para windows • El sensor Kinect para Windows está diseñado para ser utilizado con el SDK comercial de Kinect para Windows . • Utiliza la tecnología de seguimiento del esqueleto, su sofisticado conjunto de micrófonos y otros sensores • Utiliza el SDK de Kinect para Windows para crear aplicaciones en C++, C# o Visual Studio Basic con Microsoft Visual Studio 2010 • Explora las infinitas oportunidades para transformar productos, procesos y negocios • Ejecuta aplicaciones desarrolladas con el kit de desarrollo de software comercial de Kinect para Windows (SDK). SDK de windows • Gracias al SDK se podrán hacer infinidad de aplicaciones que podrán venderse en el futuro. Nada mal para ser sólo un periférico de videojuegos. • Kinect se convirtió en la plataforma más buscada para crear nuevos inventos. • Los científicos, aficionados e inventores comenzaron a "piratear" a Kinect para construir aplicaciones nuevas, todo ello sin el conocimiento o permiso de Microsoft. • Microsoft intentó inicialmente combatir a los piratas, pero pronto, al igual que Android, se dio cuenta que liberar su software a los usuarios significaría un montón de herramientas nuevas para los mismos usuarios. • Microsoft oficialmente lanzó hace poco un Kit de Desarrollo (SDK) para Kinect. Lo que es inusual acerca de esta liberación es que Microsoft dice que es "una versión beta gratuita para aplicaciones no comerciales." En otras palabras, es para los aficionados, ociosos, hackers, científicos e inventores, en lugar de socios de la industria, desarrolladores de software y fabricantes de equipos originales. SDK de Microsoft es muy interesante por una razón en especial: “la gente ha hecho cosas alucinantes con Kinect incluso sin el SDK” Kinect fue hackeado para hacer avances serios en la tecnología. No está mal para ser sólo un periférico barato. Desarrollos en kinect • Mercadeo. Puerta AR Kinect Fitting Room sobrepone la ropa en los compradores. Ellos pueden rápidamente cómo les va aquedar la ropa que quieren comprar. Medicina. El "espejo mágico". Diseñado para la enseñanza de la anatomía, el sistema crea la ilusión de un espejo que muestra las entrañas del usuario a través de un "agujero" en el cuerpo. • Negocios. Sistema de videoconferencia en 3D con cuatro dispositivos Kinect. El sistema utiliza el seguimiento de la cabeza para simular la realidad. • Ciencias de la Computación. Dispositivo que controla la computadora a través de movimientos de la mano y los dedos. ¿Hasta dónde puede llegar la SDK de Microsoft? El límite es la imaginación. Referencias • «"Project Natal" 101». Microsoft (01-06-2009). Archivado desde el original el 2009-06-01. Consultado el 02-06-2009.