Saltar para o conteúdo principal
é o nosso contêiner de gravação multi-câmera, produzido quando você grava no Discovery. O payload é MJPEG, então cada quadro do arquivo já é um JPEG completo — a reprodução é uma única chamada cv2.imdecode, e a exportação é uma cópia de bytes sem recodificação nem perda de qualidade.

Gravando DWVO no Discovery

Novo no DWVO? Comece por aqui para transmitir e gravar arquivos .dwvo.

Pré-requisitos

  • Python (versão 3.x)
  • opencv-python, numpy e pillow
  • Uma gravação .dwvo — os exemplos abaixo usam test.dwvo

Configuração

Clone o repositório OpenCV Guides e abra a pasta deste guia, depois crie um ambiente virtual e instale as dependências:

Reprodução

main.py decodifica todas as câmeras e as exibe lado a lado em uma única janela do OpenCV.
A reprodução é ancorada a um cronograma fixo: se a decodificação atrasar um quadro inteiro, esse quadro é descartado em vez de exibido atrasado, para que o vídeo se mantenha na velocidade real.

Exportar para JPEGs

Como o DWVO já armazena MJPEG, export.py copia cada quadro diretamente para o disco — sem decodificação e sem perda de qualidade.
A saída é um diretório por câmera, numerado no estilo KITTI:

PNG sem perdas (dataset KITTI)

dwvo_to_kitti.py produz o mesmo layout, mas decodifica através do Pillow para poder gerar PNG sem perdas. Use-o quando uma ferramenta downstream não aceitar JPEG; caso contrário, export.py é mais rápido.

Lendo DWVO programaticamente

Em dwvo.py, DWVOReader itera sobre blocos de timestamp, DWVOWriter os escreve e combine_dwvos() concatena gravações que compartilham o mesmo cabeçalho.

Perguntas frequentes

No Discovery, algumas câmeras exigem que o FPS seja definido manualmente. Se foi definido como 30 FPS enquanto o vídeo era transmitido a 60 FPS, o arquivo .dwvo registra 30 FPS em seus metadados e informa às aplicações para ler a 30 FPS. Substitua isso na reprodução com --fps.

Informações adicionais

Para mais detalhes, exemplos em outras linguagens e o código-fonte completo dos scripts acima, consulte o repositório OpenCV Guides.

Repositório OpenCV Guides

Código-fonte do leitor DWVO, reprodução, exportação e conversão para KITTI.