Saltar al contenido principal
es nuestro contenedor de grabación multicámara, generado cuando grabas en Discovery. La carga útil es MJPEG, por lo que cada fotograma del archivo ya es un JPEG completo: la reproducción es un único cv2.imdecode, y la exportación es una copia de bytes sin recodificación ni pérdida de calidad.

Grabación DWVO en Discovery

¿Nuevo en DWVO? Empieza aquí para transmitir y grabar archivos .dwvo.

Requisitos previos

  • Python (versión 3.x)
  • opencv-python, numpy y pillow
  • Una grabación .dwvo; los ejemplos siguientes usan test.dwvo

Configuración

Clona el repositorio de guías de OpenCV y abre la carpeta de esta guía, luego crea un entorno virtual e instala las dependencias:

Reproducción

main.py decodifica todas las cámaras y las muestra una al lado de la otra en una sola ventana de OpenCV.
La reproducción está anclada a una programación fija: si la decodificación se retrasa un fotograma completo, ese fotograma se descarta en lugar de mostrarse tarde, de modo que el video se mantiene a la velocidad del reloj real.

Exportar a JPEG

Como DWVO ya almacena MJPEG, export.py copia cada fotograma directamente al disco: sin decodificación ni pérdida de calidad.
La salida es un directorio por cámara, numerado al estilo KITTI:

PNG sin pérdida (conjunto de datos KITTI)

dwvo_to_kitti.py genera el mismo diseño, pero decodifica a través de Pillow para poder emitir PNG sin pérdida. Úsalo cuando una herramienta posterior no acepte JPEG; de lo contrario, export.py es más rápido.

Lectura de DWVO mediante programación

En dwvo.py, DWVOReader itera bloques de marca de tiempo, DWVOWriter los escribe y combine_dwvos() concatena grabaciones que comparten encabezado.

Preguntas frecuentes

En Discovery, algunas cámaras requieren establecer los FPS manualmente. Si se configuró a 30 FPS mientras el video se transmitía a 60 FPS, el archivo .dwvo registra 30 FPS en sus metadatos e indica a las aplicaciones que lo lean a 30 FPS. Anúlalo durante la reproducción con --fps.

Información adicional

Para más detalles, ejemplos en otros lenguajes y el código fuente completo de los scripts anteriores, consulta el repositorio de guías de OpenCV.

Repositorio de guías de OpenCV

Código fuente del lector DWVO, reproducción, exportación y conversión a KITTI.