Koda prikaza, ki temelji na več projektorjih

Pregled

Ta projekt vam ponuja orodja in tehnike, ki jih potrebujete za ustvarjanje lastnega večprojektorskega zaslona velikih površin, ki je dostopna in prilagodljiva. Zajema postopek, ki ga morate sprejeti, in težave, ki jih je treba upoštevati pri doseganju geometrijske poravnave in barvne brezhibnosti, ter sistem za upodabljanje slik z uporabo računalniških gruč. Zagotavlja tudi potrebne kode preprostega porazdeljenega sistema kalibriranja in prikazovanja slike / 3D-modela.

Kdo naj uporabi to kodo

  • Novice, ki želijo zgraditi lasten sistem za prikazovanje kamer in projektorjev, lahko to kodo uporabijo kot začetno točko
  • Raziskovalci, ki se zanimajo za sistem prikaza kamer-projektorja, lahko to kodo uporabijo kot referenco

Sistemska arhitektura

Z nedavno popularizacijo cenovno dostopnih grafičnih kartic je mogoče zgraditi distribuiran sistem za upodabljanje s skupino osebnih računalnikov. Naslednja slika prikazuje arhitekturo večprojektorskega zaslona, ki temelji na računalniku:

Slika 1. Sistemska arhitektura multiprojektorskega zaslona na PC-Clusteru

Kot je razvidno iz zgornje slike, sistem sestavljajo en glavni računalnik in nekaj računalnikov za renderiranje. Vsak računalniški oddajnik je povezan z enim projektorjem. Vsi osebni računalniki so povezani prek lokalnega omrežja. Glavni računalnik nadzira postopek prikazovanja sistema, računalniki za upodabljanje pa izvajajo dejansko opravljanje dela in izpis preko projektorjev. Splošni cilj je, da se pri videoposnetkih in drugih prizorov obnašanje projektorjev, ki se nahajajo v nespremenjeni obliki, obnašajo kot velik integriran zaslon.

Viri prizorov so prednaloženi na računalnike za upodabljanje in vsak računalnik bo prikazal svoj lastni del samo v skladu s predhodno kalibracijo, kot je prikazano na sliki. Ker so projektorji postavljeni navznoter, prizor iz različnih projektorjev morda ni dobro poravnan, prekrivna površina dveh ali več projektorjev pa je lahko videti bolj svetlejša od druge površine. Torej morajo računalniki za upodabljanje zasnovati prizore, da bi dosegli poravnavo geometrije in barvno brezhibnost. Osnovni postopek prikazovalnega sistema s sistemom PC-Cluster vključuje dva koraka: korak kalibracije na osnovi kamere in korak deformacije prizora. Med korakom umerjanja se projicirajo posebne značilnosti in ustrezne slike kamere so zgrabljene. Po analizi zgrabljenih slik, geometrijske informacije o tem, kako zasnovati sceno in alfa masko o tem, kako doseči fotometrično poravnavo, bodo atomsko ustvarjene. Med korakom deformacije prizora bo vsak projektor zasnoval vire scena glede na umeritveni rezultat.

Več informacij o poravnavi geometrije iz poglavja 3 referenčne [1], o barvni brezšivnosti iz poglavja 4 referenčne [1], o izdelavi PC-Cluster-a iz poglavja 5 referenčne [1] najdete več. Močno vam priporočamo, da knjigo temeljito preberete, preden začnete nastavljati lasten zaslon z več projektorji.

Zahteve strojne in programske opreme

Če želite uporabiti navedene kode, morate izpolnjevati naslednje zahteve strojne in programske opreme:

Strojne zahteve:

  • En računalnik z monitorji, kot glavni računalnik;
  • Dva ali več osebnih računalnikov z namenskimi grafičnimi karticami (uporabljamo NVIDIA GeForce 8800GTS) kot računalniški oddajnik;
  • Dva ali več projektorjev (po enega za vsak računalniški oddajnik);
  • Eno pesto ali usmerjevalni in omrežni kabli;
  • Ena kamera, združljiva z OpenCV, z ustrezno lečo (za več informacij o izbiri fotoaparata in objektiva glejte Pogosta vprašanja);

Zahteve programske opreme:

  • Windows XP je nameščen na vseh računalnikih;
    (Spodaj je dodatna programska oprema, ki jo morate namestiti, če želite sami izdelati izvorne kode)
  • Microsoft Visual Studio 2005 ali novejši;
  • Knjižnica OpenCV 1.0 (iz reference [2]);
  • Knjižnica GLUT 3.7 (iz reference [3]);
  • Algoritmi FreeImage (iz reference [4]) so nameščeni;

Referenca

[1] “Praktični multimedijski projektor”, Majumder / Brown, AK Peters, ZDA, 2007
[2] Odpri Computer Vision Library, 1.0: http://sourceforge.net/projects/opencvlibrary/
[3] GLUT – orodje OpenGL Utility, 3.7: http://www.opengl.org/resources/libraries/glut/
[4] Knjižnica Algoritma FreeImage: https://code.launchpad.net/~glennpierce/+junk/main

 

Izvirni članek: http://www.comp.nus.edu.sg/~brown/projects/projector/index.html

 

Leave a Reply

Your email address will not be published. Required fields are marked *