Oversikt
stellarHD eksponerer to videoformater over sitt standard UVC-grensesnitt (USB Video Class):- MJPEG — JPEG-komprimerte bilder. Best for høye bildefrekvenser (opp til 60 FPS) og direkte visning.
- YUYV — ukomprimert 4:2:2 rå video. Best når du trenger de originale, ubehandlede pikseldataene (maskinsyn, fotogrammetri, vitenskapelig avbildning).
Y) inneholder ekte bildedata.
YUYV er ukomprimert, så det bruker langt mer USB-båndbredde enn MJPEG. Som et resultat er rå-modus begrenset til lavere bildefrekvenser ved høyere oppløsninger. Se tekniske spesifikasjoner for stellarHD for de støttede kombinasjonene av oppløsning/bildefrekvens.
Krav
Disse kommandoene krever en Linux-datamaskin medv4l-utils, GStreamer og FFmpeg installert:
Forstå YUYV vs MJPEG
I GStreamer-caps skrives V4L2-formatet
YUYV som YUY2.
Trinn 1 — Identifiser enhetsnoden
Når du kobler til en stellarHD, oppretter kjernen flere V4L2-enhetsnoder. Både YUYV og MJPEG eksponeres på den første noden i gruppen./dev/video4 noden som skal brukes. Bytt ut med din egen node i kommandoene nedenfor.
Trinn 2 — Ta opp ett enkelt RAW-bilde
Brukv4l2-ctl for å ta opp ett ukomprimert YUYV-bilde i full oppløsning:
frame_1600x1200.yuyv.
Bekreft bildestørrelsen
Et komplett råbilde skal være nøyaktigbredde × høyde × 2 byte:
Trinn 3 — Konverter RAW-bildet til PNG
Rå YUYV-byte er ikke direkte synlige. Bruk FFmpeg for å konvertere bildet til en PNG for inspeksjon:Monokrome stellarHD-modeller
På grunn av en særegenhet i UVC annonserer den monokrome stellarHD-en utdataene sine somYUYV 4:2:2 selv om sensoren ikke har fargeinformasjon.
- Kun
Y(luminans)-kanalen inneholder det ekte bildet. U- ogV(krominans)-kanalene er dummy-/faste verdier og kan ignoreres.
Bekreft at kameraet faktisk er monokromt
Spill av rå-filen direkte medffplay. Hvis bildet ser gråskala ut naturlig, er krominanskanalene konstante:
GStreamer-pipelines
Vis den direkte råstrømmen
Lagre ett råbilde til disk
Raskere forhåndsvisning med MJPEG
Siden YUYV er begrenset til lave bildefrekvenser ved høy oppløsning, bruk MJPEG når du kun trenger en jevn sanntids forhåndsvisning:Henting av luminans i OpenCV / Python
Hvis du behandler råbilder nedstrøms og sensoren din er monokrom, hent ut luminanskanalen i stedet for å behandle bildet som farge.OpenCV-guide
Se vår fullstendige guide for bruk av stellarHD med OpenCV.
Feilsøking
Utdatafilen har feil størrelse
Et komplett råbilde er nøyaktigbredde × høyde × 2 byte. En mindre fil betyr vanligvis at opptaket ble avbrutt, eller at den forespurte oppløsningen ikke støttes i YUYV-modus — sjekk v4l2-ctl -d /dev/video4 --list-formats-ext.
Det konverterte bildet er skjevt eller forvrengt
-pixel_format og -video_size som sendes til FFmpeg må samsvare nøyaktig med opptaket. Rå video har ingen header, så et hvilket som helst avvik vil korrumpere oppsettet.
Bildet ser tonet ut på et monokromt kamera
Krominanskanalene bærer ingen reelle data på en monokrom sensor. Konverter på nytt med-vf format=gray (FFmpeg) eller hent ut Y-kanalen (OpenCV) som vist ovenfor.
