Hopp til hovedinnhold
er vår container for opptak fra flere kameraer, som produseres når du gjør opptak i Discovery. Nyttelasten er MJPEG, så hver bilderamme i filen er allerede en fullstendig JPEG — avspilling er en enkelt cv2.imdecode, og eksport er en byte-kopi uten ny koding eller kvalitetstap.

Ta opp DWVO i Discovery

Ny til DWVO? Start her for å strømme og ta opp .dwvo-filer.

Forutsetninger

  • Python (versjon 3.x)
  • opencv-python, numpy og pillow
  • Et .dwvo-opptak — eksemplene nedenfor bruker test.dwvo

Oppsett

Klon OpenCV Guides-repositoriet og åpne mappen for denne guiden, opprett deretter et virtuelt miljø og installer avhengighetene:

Avspilling

main.py dekoder hvert kamera og viser dem side ved side i ett OpenCV-vindu.
Avspilling er forankret til en fast tidsplan: hvis dekoding ligger en hel bilderamme bak, forkastes den rammen i stedet for å vises for sent, slik at videoen holder veggklokke-hastighet.

Eksport til JPEG

Fordi DWVO allerede lagrer MJPEG, kopierer export.py hver bilderamme rett til disk — ingen dekoding, intet kvalitetstap.
Utdata er én mappe per kamera, nummerert i KITTI-stil:

Tapsfri PNG (KITTI-datasett)

dwvo_to_kitti.py produserer samme oppsett, men dekoder gjennom Pillow slik at den kan skrive ut tapsfri PNG. Bruk den når et etterfølgende verktøy ikke godtar JPEG; ellers er export.py raskere.

Lese DWVO programmatisk

I dwvo.py itererer DWVOReader gjennom tidsstempelblokker, DWVOWriter skriver dem, og combine_dwvos() slår sammen opptak som deler samme header.

FAQ

I Discovery krever noen kameraer at FPS settes manuelt. Hvis den var satt til 30 FPS mens videoen ble strømmet med 60 FPS, registrerer .dwvo-filen 30 FPS i metadataen og ber applikasjoner om å lese med 30 FPS. Overstyr det ved avspilling med --fps.

Mer informasjon

For ytterligere detaljer, eksempler på andre språk, og fullstendig kildekode for skriptene ovenfor, se OpenCV Guides-repositoriet.

OpenCV Guides-repositorium

Kildekode for DWVO-leser, avspilling, eksport og KITTI-konvertering.