2010-06-15 16 views
5

tengo 4 cámaras digitales, la distancia entre cada cámara es de 30 CM, necesito un software o una biblioteca de programación que funcione en C++ o Java, que pueda tomar videos de estas 4 cámaras, y ponerlas en un video que muestre solo una imagen que se recoge de las 4 cámaras, cualquier sugerencia sería útil, gracias de todos modos.¿cuál es el mejor lenguaje de programación para el procesamiento de video?

+4

Creo que se debe preguntar acerca de la mejor biblioteca o mejor aplicación, no es el mejor lenguaje. Además, ¿para qué O/S? Y, ¿cómo desea fusionar o seleccionar 4 videos en 1? – ChrisW

+1

¿Por qué no acaba de obtener software de edición de video? Esto es como disparar cañones contra gorriones ... –

+0

@ Jan Kuboschek - ¡No existe una exageración! :) – willcodejavaforfood

Respuesta

1

Mire Pure Data y GEM. Tiene algunas posibilidades interesantes, aunque podría ser más de lo que quieres morder.

Java tiene el Java Media Framework, que le ofrece algunas herramientas decentes para trabajar.

+0

Si usa Pure Data, entonces GEM es la biblioteca estándar para video. Pero también puede usar http://Gridflow.ca y PDP. Cada uno se basa en sus propias premisas diferentes. GEM básicamente está exponiendo OpenGL a Pure Data, mientras que Gridflow se trata de matemáticas matriciales, principalmente para video. –

0

Esto es un problema de correspondencia estéreo y una forma de combinar n diferentes imágenes estarían utilizando algún tipo de características locales (SIFT, SURF, FAST etc.) En la biblioteca OpenCV ya hay un detector SURF implementado. Probablemente necesites usar C o C++ para el procesamiento en tiempo real.

1

Te recomendaría OpenCV, que es una biblioteca de Visión por ordenador de código abierto para el desarrollo de C. Una vez configurado, es relativamente fácil de usar.

Echa un vistazo this reference. Eche un vistazo al método cvCaptureFromCAM() detallado en la referencia para leer fotogramas de una cámara de video.

1

Recomiendo que utilice el marco GStreamer para esto. He hecho cosas similares con esto: combinar un flujo de video, una grabación de pantalla y un logotipo en un video combinado.

opciones de idioma de programación son:

  • C: directamente a través de la API. No es muy difícil. Ver el documentation.
  • Python: enlaces a la API C
  • gst-launch: un lenguaje declarativo para configurar rápidamente una canalización. Sugerencia: ¡se mece!
  • Vala: lenguaje de scripts con sintaxis C#. Nunca lo usé, así que no puedo decir que sea bueno.

También puedes ver mi respuesta a esta pregunta: How can I tile videos/create a video montage?

Cuestiones relacionadas