Hopp til hovedinnhold
Denne dokumentasjonen er fortsatt under forbedring og bygging!
Både elektrisk og programvarebasert synkronisering kreves. Se nedenfor for detaljerte instruksjoner.

Veiledning for elektrisk kabling

Oversikt

Denne modusen er laget for konfigurasjoner som ikke bruker et eksternt klokkesignal.Du vil bruke ett kamera i leader-modus (som sender ut et synkroniseringssignal) og alle resterende kameraer i follower-modus.

Veiledning for Leader/Follower-fastvare

Klikk her for å se veiledningen for å oppdatere kameraet ditt mellom Leader- og Follower-modus.

Kabling

Eksempel


Python-bibliotek for synkronisert video (Linux)

I tillegg til vår kommende SDK tilbyr vi for øyeblikket en enkel Python-prosess for å hente synkroniserte bilder fra dine kameraoppsett. (Merk: Dette kan bli faset ut til fordel for den fullt utrustede SDK-en i fremtiden.)

Python-bibliotek for synkronisert video

Følg vår GitHub-veiledning for å installere og bruke vårt egendefinerte Python-bibliotek for Linux.

Synkronisert sammensydd video

Dette vil gå gjennom bruk av GStreamer for å synkronisere og sette sammen to videostrømmer. Deretter opprette en virtuell enhet som kan brukes i andre programmer.
1

Installer nødvendige pakker

Installer de nødvendige avhengighetene med følgende kommando:
sudo apt install -y libx264-dev libjpeg-dev \
libglib2.0-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad gstreamer1.0-libav libgstreamer-plugins-bad1.0-dev \
gstreamer1.0-plugins-ugly gstreamer1.0-gl \
v4l-utils
2

List opp gjeldende kameraenheter

Kjør følgende kommando for å finne dine tilkoblede kameraer:
v4l2-ctl --list-devices
Eksempel på utdata:
stellarHD Leader: stellarHD Lea (usb-0000:00:14.0-8.3):
    /dev/video0
    /dev/video1
    /dev/media0

stellarHD Follower: stellarHD F (usb-0000:00:14.0-8.4):
    /dev/video2
    /dev/video3
    /dev/media1
3

Opprett en virtuell enhet

Identifiser enhets-ID-ene til de to kameraene du vil bruke, og velg deretter et enhets-ID-nummer som ikke er oppført.I dette eksempelet vil vi bruke 9 (siden det er ubrukt ovenfor) for å opprette en virtuell enhet kalt stellarHD_stitched. Oppdater 9 i kommandoen nedenfor for å matche den ubrukte ID-en du har valgt:
sudo modprobe v4l2loopback video_nr=9 \
card_label=stellarHD_stitched exclusive_caps=1
4

Start GStreamer-pipelinen

Start pipelinen for å opprette den sammensydde videoen og send strømmen til den nye virtuelle enheten:
gst-launch-1.0 -v \
compositor name=mix \
    sink_0::xpos=0    sink_0::ypos=0   sink_0::alpha=1 \
    sink_1::xpos=1600 sink_1::ypos=0   sink_1::alpha=1 \
! jpegenc ! jpegdec ! videoconvert ! v4l2sink device=/dev/video9 \
v4l2src device=/dev/video0 ! image/jpeg,width=1600,framerate=60/1 ! jpegdec ! videorate ! mix.sink_0 \
v4l2src device=/dev/video2 ! image/jpeg,width=1600,framerate=60/1 ! jpegdec ! videorate ! mix.sink_1
Du må la denne kommandoen kjøre mens du bruker de synkroniserte, sammensydde videoene. Du kan endre denne kommandoen for å legge til flere kameraer, endre oppløsninger/bildefrekvenser eller endre oppsettet.
5

Bruk den virtuelle enheten i OpenCV

OpenCV-startkode

Følg eksempelkoden vår for å bruke /dev/video9 i OpenCV.
6

Fjern loopback-enheten

For å fjerne loopback-enheten på en trygg måte kan du enten starte datamaskinen på nytt eller kjøre følgende sekvens av kommandoer:1. Identifiser programmer som for øyeblikket bruker loopback-enheten:
sudo lsof /dev/video*
2. Avslutt prosessene ved hjelp av PID-numrene (Process ID):
sudo kill <INSERT_PID_NUMBER>
3. Fjern loopback-enheten:
sudo modprobe -r v4l2loopback