que - modo manual camara iphone 7
¿Cómo puedes seguir el movimiento usando la cámara del iPhone? (2)
Vi que alguien ha creado una aplicación que rastrea tus pies con la cámara, para que puedas patear un balón de fútbol virtual en la pantalla de tu iPhone.
¿Cómo pudiste hacer algo como esto? ¿Alguien sabe de ejemplos de código u otra información sobre el uso de la cámara del iPhone para detectar objetos y rastrearlos?
He tenido cierto éxito al rastrear caras y ojos usando OpenCV en el iPhone. Aquí es un buen lugar para comenzar: http://niw.at/articles/2009/03/14/using-opencv-on-iphone/en
Supongo que el truco es encontrar una cascada (descripción de lo que la cámara debería estar buscando) que describa un pie, aunque no estoy realmente seguro de que exista.
Acabo de dar una charla en SecondConf, donde demostré el uso de la cámara del iPhone para rastrear un objeto de color utilizando los sombreadores OpenGL ES 2.0. La publicación que acompaña esa charla, incluidas mis diapositivas y el código de muestra de todas las demostraciones, se puede encontrar here .
La aplicación de muestra que escribí, cuyo código se puede descargar desde here , se basa en un ejemplo producido por Apple para demostrar Core Image en WWDC 2007. Ese ejemplo se describe en el Capítulo 27 del libro GPU Gems 3 .
La idea básica es que puede usar sombreadores GLSL personalizados para procesar imágenes desde la cámara del iPhone en tiempo real, determinando qué píxeles coinciden con un color objetivo dentro de un umbral determinado. Esos píxeles luego tienen sus coordenadas X, Y normalizadas incrustadas en sus componentes de color rojo y verde, mientras que todos los demás píxeles están marcados como negros. El color de todo el cuadro se promedia para obtener el centroide del objeto de color, que puede rastrear a medida que se mueve a través de la vista de la cámara.
Si bien esto no aborda el caso de rastrear un objeto más complejo como un pie, los sombreadores de este tipo deberían poder escribirse para detectar un objeto en movimiento.
Como una actualización de lo anterior, en los dos años desde que escribí esto, ahora he desarrollado un marco de código abierto que encapsula el procesamiento de sombreado de imágenes y video de OpenGL ES 2.0. Una de las adiciones recientes a eso es una clase GPUImageMotionDetector que procesa una escena y detecta cualquier tipo de movimiento dentro de ella. Le devolverá el centroide y la intensidad del movimiento general que detecta como parte de un simple bloque de devolución de llamada. Usar este marco para hacer esto debería ser mucho más fácil que lanzar su propia solución.