Home > elektro stuff, geek stuff > 2x webcam + škatla od Plazma keksov + gstreamer = "3D kamera"

2x webcam + škatla od Plazma keksov + gstreamer = "3D kamera"

Na šihtu imamo dva projektorja, ki jih bo kmalu mogoče montirati enega pod drugega, in ko dobimo še polarizatorje, ter 3D očala, nam bo to vse skupaj služilo za ogled 3d vsebin.

Da ne bi koristili samo tuje vsebine, je bilo potrebno narediti tudi neko homemade varianto 3d kamere (vsaj za test, če že ne za bodočo resno uporabo) :)

Uporabili smo 2 Logitechova (uvcvideo kompatibilna) webcama, in z gstreamerjem pobral sliko z obeh in jih združli v en (mjpeg) avi file. Pomembno je, da je slika levega očesa na levi strani videa, desnega pa na desni,.. torej, za 2 streama 800x600 dobimo video 1600x600: [leva kamera|desna kamera] (glej sliko spodaj malo nižje :D ).

Zajem je delal gstreamer, z naprav /dev/video1 in /dev/video2 (video0 je porabil že vgrajen webcam na laptopu). Z obeh pobira 800x600 sliki, in shranjuje v mjpeg avi file, ali prikazuje na zaslonu).

#Prikaz na ekranu:
gst-launch-0.10 v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv, \
width=800, height=600  ! ffmpegcolorspace ! videobox ! videomixer name=mix ! \
xvimagesink v4l2src device=/dev/video2 ! videoscale ! video/x-raw-yuv, \
width=800, height=600  ! ffmpegcolorspace ! videobox left=-800  ! \
ffmpegcolorspace ! mix.

#Shranjevanje v out.avi
gst-launch-0.10 v4l2src device=/dev/video1 ! videoscale ! video/x-raw-yuv, \
width=800, height=600  ! ffmpegcolorspace ! videobox ! videomixer name=mix ! \
jpegenc ! avimux ! filesink location=out.avi v4l2src device=/dev/video2 ! \
videoscale ! video/x-raw-yuv, width=800, height=600  ! ffmpegcolorspace ! \
videobox left=-800  ! ffmpegcolorspace ! mix.

Kameri je potrebno seveda dobro nastaviti (beri: obe snemata naravnost, sta poravnani, razdalja med njima pa je približno enaka razdalji med očesoma pri človeku (~10cm)).

Ker je to šele alfa test, smo za fiksiranje uporabili kar škatlo Plazma piškotov, in seveda selotejp :)


(ja ja... vem.. jutri ne bo nič več poravnano, selotejp bo popustil... bla bla... s tem se bom jutri obremenjeval :) )

Zajeli smo testni video, screenshot:

Da smo se znebili obdelave za ostale 3d načine (rdeče-modra očala, škiljenje, ipd.), smo video uploadali kar na Youtube, ki z dodanim tagom:  "yt3d:enable"=true sam vključi 3d kontrole in rendering.

Žal youtube še ne podpira embeddanja 3D videov, zato je naslednja slika samo povezava do videa na youtubeu:

Categories: elektro stuff, geek stuff Tags: , , ,