Extraer imágenes de una cámara en tiempo real

Un grupo de estudiantes y yo estamos construyendo un UAV y queremos ponerle una cámara de alta calidad (es decir, una lente de zoom decente de ~ 100 mm) e interconectar las imágenes con el procesamiento a bordo. He buscado una cámara que pueda interactuar a través de USB o cualquier otra conexión que sea compatible con un Pandaboard o un DE0 , pero no he podido encontrar ninguna que cumpla con las especificaciones (sin ser demasiado cara).

Tenemos una Casio Exilim EX-Z1050 que tiene una grieta en la pantalla y, por lo tanto, es perfecta para integrarse con el UAV. La pregunta es, ¿cuál es la mejor manera de obtener un video o al menos 2 imágenes fijas por segundo en tiempo real?

Estaba pensando en usar algo como esto para capturar videos o imágenes fijas mientras se graban en una tarjeta SD. ¿Cuál es la viabilidad de usar quizás un FPGA para realizar esto? Si alguien sabe dónde puedo encontrar una especificación para el protocolo SD (la de 1/4 bit, no la lenta SPI), o tal vez una especificación de ingeniería inversa lo suficientemente útil, un enlace sería muy útil.

¿Alguna otra idea?

¡Muchas gracias!

Cuanto más lo pienso, tienes una idea muy interesante. Con una comprensión del protocolo, puede espiar los datos a medida que viajan a la tarjeta SD. O si eres más ambicioso, puedes emular la tarjeta SD en la FPGA. De cualquier manera significa mucho trabajo, y me gustaría tener más RAM de la que tiene el DE0. ¿Cuál es su plazo y presupuesto?
@mng Bueno, el bit de "comprensión del protocolo" es con lo que tengo problemas: parece que no puedo encontrar ninguna especificación en el protocolo SD de 1/4 bit. El proyecto en total tiene alrededor de $ 1000, pero necesitamos gastar la mayor parte para poner el avión en el aire. En términos de tiempo, todo el trabajo se realiza en el tiempo libre, por lo que el tiempo disponible depende principalmente de lo divertido que sea el trabajo ;D El DE0 tiene 8 MB de sd-ram que debería ser lo suficientemente rápido para el flujo de datos a la tarjeta SD.

Respuestas (2)

La mayoría de las cámaras de la serie A de Canon pueden ejecutar el kit de desarrollo gratuito CHDK-Canon Hack y también aquí .

  • CHDK le permite comunicarse a través de USB, controlar todas las funciones conocidas de la cámara y agregar funciones adicionales. por ejemplo, puede configurar la detección de movimiento de un área seleccionada con la acción de su elección a seguir aunque esta función probablemente esté disponible como estándar en ninguna de las cámaras en cuestión.

CHDK se instala en una tarjeta SD que se inserta en la cámara y la cámara la carga y la ejecuta junto con cualquier archivo de "programa" al encenderla. La cámara no se altera. Entiendo que la última cámara de la serie Canon A no es compatible, pero el proyecto está en curso y es capaz.

Descripción general aquí


Ellos dicen:

Captura de imagen mejorada: CHDK admite el formato RAW para imágenes (además de JPEG), mayor tiempo y duración de grabación para videos (hasta 1 hora o 2 GB) y varias opciones de compresión nuevas.

Información adicional en pantalla: con CHDK, puede personalizar su visualización en pantalla al contenido de su corazón, incluida información valiosa como la vida útil restante de la batería, el histograma, la profundidad de enfoque y más.

Configuraciones fotográficas adicionales: CHDK toma muchas de las funciones ya disponibles en su cámara y le brinda muchas más opciones, incluidos tiempos de exposición más largos (hasta 65 segundos), velocidades de obturación más rápidas (1/25,000 segundos o más rápidas), horquillado automático de sus fotos , y más.

Compatibilidad con programas/secuencias de comandos pequeños: CHDK puede ejecutar secuencias de comandos pequeñas que permitirán que su cámara realice una serie de acciones según las condiciones de la secuencia de comandos. Hay toneladas de secuencias de comandos disponibles y brindan funcionalidades como fotografía con detección de movimiento (que, según se informa, funciona para rayos) y fotografía de lapso de tiempo de intervalo ilimitado (vea el video a continuación). Click para ver

Aún mejor, CHDK se está desarrollando activamente, lo que significa que siempre hay nuevas características en el horizonte. En realidad, hay varias versiones de CHDK en desarrollo, pero la versión en la que nos vamos a centrar se llama compilación Allbest, una compilación que incorpora muchas de las mejores funciones disponibles en otras compilaciones (¿entendido?).

Lo que necesitarás

Para usar CHDK, todo lo que necesita es una cámara digital Canon compatible y una tarjeta de memoria SD. Si ya tiene una cámara compatible, solo se deduce que tiene la tarjeta de memoria, por lo que ya está en camino.

Ahora bien, esto es MUY bueno, especialmente porque podemos tener acceso a una cámara compatible. Sin embargo, aunque el CHDK permite una gran cantidad de funciones adicionales, no pude encontrar ninguna función que le permita extraer imágenes fijas o videos. Gracias por la genial atención de todos modos; D

Puede usar un DSP para hacer esto. Algunos de los DSP tienen codificadores MPEG/JPEG integrados que aumentarán la velocidad de fotogramas que necesita. Por ejemplo, puede consultar Gstreamer para TI DSP . Aquí, Gstreamer es un paquete de software que se utiliza en varias placas DSP para el procesamiento de video en tiempo real.

Hm, mi pregunta es cómo conectar la cámara a mi equipo de procesamiento, no cómo procesarlo...