Search
This is an old revision of the document!
Kamera Chameleon je digitální USB 2.0 kamera Chameleon vyráběná firmou PointGrey.
Kameru je možno obsluhovat v MATLABu použitím Image Acquisition Toolboxu.
vid = videoinput('winvideo',1,'Y800_1280x960');
inspect(getselectedsource(vid));
set(getselectedsource(vid), 'PropertyName', 'PropertyValue');
get(getselectedsource(vid), 'PropertyName');
propoinfo(getselectedsource(vid), 'PropertyName');
set(vid,'TriggerRepeat',Inf); vid.FrameGrabInterval = 1; start(vid);
im = getdata(vid,1);
im_debay(:,:,1) = im(2:2:end,1:2:end); im_debay(:,:,2) = im(1:2:end,1:2:end)/2 + im(2:2:end,2:2:end)/2; im_debay(:,:,3) = 6.5 * im(1:2:end,2:2:end);
stop(vid); delete(vid);
Jak je uvedeno výše lze v prostředí Matlab nastavovat některé parametry snímání kamery. Tyto parametry ovlivňují obraz, který bude poskytován kamerou, a jsou proto důležité pro úspěšné použití kamery. Popis významu nastavovaných parametrů v dokumentaci kamery je velmi omezený. Proto jsme provedli omezený průzkum a testování za účelem zjištění možností nastavení parametrů snímání.
Bohužel rozhraní v Matlabu neumožňuje nastavení všech parametrů snímání. Nastavit je možné tyto parametry:
Gain - Tímto parametrem lze měnit zisk zesilovače video signálu. S rostoucím ziskem roste jas v obraze, ale bohužel také šum. Pokud to není nutné z jiných důvodů (např. udržení krátkého času závěrky) doporučujeme nastavit zisk na 1.0 ~ 0dB (výstup = vstup). Hodnotě zisku 0dB odpovídá hodnota parametru 160.
set(getselectedsource(vid),'GainMode','manual'); set(getselectedsource(vid),'Gain',160);
Gamma - Nastavuje míru nelineárního zesílení obrazového signálu. Nelineárním přenosem se kompenzují vlastnosti zobrazovacího zařízení a vnímání pozorovatele (detaily napr. ve Wikipedia: Gamma correction). Pro zpracování počítačem nemá dodatečná nelineární kompenzace význam. Naopak tato kompenzace může snížit pro některé jasové úrovně přesnost měření. Proto doporučujeme nastavit snímání bez kompenzace, kterému odpovídá gamma = 1.0. Absolutní hodnotě gamma 1.0 odpovídá hodnota parametru 1024.
set(getselectedsource(vid),'GammaMode','manual'); set(getselectedsource(vid),'Gamma',1024);
WhiteBalance - Vyvážení bíle určuje jaké poměry hodnot barevného signálu (RGB složky) budou odpovídat snímání bílé barvy. V případě kamery Chameleon není nastavení vyvážení bíle správně implementováno a implementovaný algoritmus není popsán. S natavením je možné experimentovat. Pokud není třeba využít barevného obrazu doporučujeme manuální nastavení tohoto parametru na implicitní hodnotu 100.
set(getselectedsource(vid),'WhiteBalanceMode','manual'); set(getselectedsource(vid),'WhiteBalance',100);
Brightness - Jas je souhrnný parametr, kterým může i méně poučený uživatel nastavit celkové jasové podání obrazu. Tento parametr však nemá přímý fyzikální význam. V případě nastavené automatické volby “Shutter” a “Gain” ovlivňuje tyto hodnoty. Způsob určení jasu obrazu a algoritmus nastavení fyzikálních parametrů snímání na jeho základě je dán programovým vybavením kamery a nebývá výrobce detailně popsán.
V našem případě, pokud je “Shutter” a “Gain” nastavována manuálně (ne automaticky), pak nemá parametr “Brightness” žádný vliv na nastavení kamery. Bohužel z prostředí Matlab nelze nastavovat přímo čas závěrky (“Shutter”). Je však možné k tomuto účelu použít právě parametr “Brightness”. Pokud nastavíme
Pro všechny výše uvedené parametry existuje vždy párový parametr “NameMode”. Tento párový parametr určuje, která hodnota bude manuálně nastavována a která bude nastavena automaticky. Automatické nastavení zajišťuje přímo kamera. Při automatickém nastavení je však nutné vzít v úvahu časové konstanty algoritmu nastavení. K ustálení automaticky nastavovaných hodnot po změně parametrů je třeba cca 1s (hrubé zjištění).
Pro sledování změn parametrů, rychlé testován vlivu změn parametrů na obraz a nastavení parametrů z prostředí Matlab je vhodné využít programu Amcap (dodává výrobce kamery). Běh programu Amcap souběžně se snímáním obrázků v prostředí Matlab se nedoporučuje. Problémem může být: