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,numpyepillow- Uma gravação
.dwvo— os exemplos abaixo usamtest.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
Emdwvo.py, DWVOReader itera sobre blocos de timestamp, DWVOWriter os escreve e combine_dwvos() concatena gravações que compartilham o mesmo cabeçalho.
Perguntas frequentes
Por que o vídeo está mais lento do que o que gravei?
Por que o vídeo está mais lento do que o que gravei?
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.