• No results found

UNIVERZITA PALACKÉHO V OLOMOUCI PŘÍRODOVĚDECKÁ FAKULTA Katedra experimentální fyziky

N/A
N/A
Protected

Academic year: 2022

Share "UNIVERZITA PALACKÉHO V OLOMOUCI PŘÍRODOVĚDECKÁ FAKULTA Katedra experimentální fyziky"

Copied!
37
0
0

Loading.... (view fulltext now)

Full text

(1)

UNIVERZITA PALACKÉHO V OLOMOUCI PŘÍRODOVĚDECKÁ FAKULTA

Katedra experimentální fyziky

Bakalářská práce

Analýza a zpracování obrazové informace v programu LabView (IMAQ Vision)

VYPRACOVAL: VEDOUCÍ BAKALÁŘSKÉ PRÁCE:

Tomáš Crhonek doc. Ing. Luděk Bartoněk, Ph. D.

Student III. ročníku

obor PF, studijní rok 2005/2006

(2)

Prohlašuji, že jsem bakalářskou práci vypracoval samostatně pod vedením doc. Ing. L.

Bartoňka, Ph. D. za použití literatury uvedené v závěru práce.

V Olomouci 29. května 2006

(3)

Děkuji vedoucímu bakalářské práce doc. Ing. Luďkovi Bartoňkovi, Ph. D. za cenné rady a poskytnuté zkušenosti při řešení zadané práce. Dále děkuji Františku Dostálovi za přečtení práce, věcné připomínky a opravu chyb.

(4)

Abstrakt

Automatické zpracování obrazu a jeho číslicová analýza je rychle se rozvíjejícim odvětvím IT průmyslu. Tato práce se zabývá analýzou obrazu pro potřeby optické la- boratoře zaměřené na měření povrchů pomocí moiré topografie. V tomto dokumentu je posáno několik metod používaných v počítačové grafice a zpracování obrazové in- formace a ukázky jejich využití v praxi. Je popsána implementace těchto algoritmů v prostředí LabView na běžném osobním počítači s použitím profesionální grabovací karty společnosti National Instruments.

(5)

Obsah

1. Úvod 7

1.1. Zobrazovací systém . . . 8

2. Užité prostředky 9 2.1. CCD kamera MINITRON OS-75D1 . . . 9

2.2. Digitalizační adaptér LabView . . . 10

2.3. Programové prostředky . . . 11

3. Metody a techniky užité v práci 11 3.1. Technika moiré . . . 11

3.2. Metoda moiré proužků . . . 12

3.3. Konvence matematického zápisu obrazových transformací . . . 15

3.4. Histogram . . . 16

3.5. Fourierova transformace . . . 18

3.6. Ekvalizace . . . 19

3.7. Operace sčítání dvou obrazů – add . . . 19

3.7.1. Operace add – compress . . . 20

3.7.2. Operace add – cut . . . 20

3.8. Operace odčítání dvou obrazů – subtract . . . 20

3.8.1. Operace subtract – compress . . . 21

3.8.2. Operace subtract – cut . . . 21

3.9. Operace porovnání obrazů – diference . . . 21

4. Experiment 22 4.1. Hardwarové vybavení . . . 22

4.2. Softwarové vybavení . . . 22

4.3. Program Analýza . . . 23

(6)

4.3.1. Popis programu . . . 23

4.3.2. Návrh a realizace . . . 25

4.4. Program Diference . . . 28

4.5. Použité funkce . . . 28

4.5.1. IMAQ Init . . . 28

4.5.2. IMAQ Create . . . 29

4.5.3. IMAQ Snap . . . 29

4.5.4. IMAQ Copy . . . 30

4.5.5. IMAQ Subtract . . . 30

4.5.6. IMAQ WindDraw . . . 31

4.6. Ověření postupu . . . 32

5. Závěr 36

Reference 37

(7)

1. Úvod

Digitální obrazové zpracování (DIP-Digital Image Processing) je velmi široká oblast vědy, která se v současné době velmi intenzivně rozvíjí. Její růst je umožněn velmi rychlým vývojem výpočetní techniky, která umožňuje provádět obrazové transformace požadované při jednotlivých aplikacích v reálném čase. Reakci na tuto skutečnost můžeme zaznamenat vznikem pracovišť zabývající se touto problematikou při mnohých světových univerzitách a výzkumných centrech.

Počítačové zpracování obrazu je také velmi aplikováno při vyhodnocování optických me- tod (moiré, měření pomocí spekle obrazů atd.), kde vlastní vyhodnocování, pomineme-li operace předzpracování obrazů (digitalizace, kvantování, resampling), jsou většinou ope- race součtu, rozdílu atd. Vlastní snímání měřených obrazů je možno provádět např. digi- tálními fotoaparáty a operace vyhodnocení je možno provést off-line v nějakém grafickém editoru (dobře poslouží jakýkoliv moderní editor například GIMP[7], nebo komerční Pho- toshop společnosti Adobe).

Cílem této práce bylo pomocí technických prostředků a programového vývojového pro- středí systému LabView (společnosti National Instruments) navrhnout obrazový měřicí systém pro provádění základních aritmetických operací s obrazy v reálném čase (online).

Mé poznatky byly čerpány z pracoviště společné laboratoře optiky UP a FzK AV ČR, oddělení holografie.

Předložené postupy zpracování obrazu uvedené v práci lze zařadit obecně do oblasti zpracování obrazu „Digital Image Processingÿ resp. „Digital Picture Processing,ÿ neboť nedají se přesně určit hranice jednotlivých disciplín.

Realizace předložených aplikací byla umožněna z velké míry za přispění grantu 2004 FRVŠ 20312011 (Tvůrčí činnost studentů, řešitel doc. Ing. L. Bartoněk, Ph.D.)

(8)

1.1. Zobrazovací systém

Rozvoj vědy a techniky přinesl v posledním době řadu úloh, které jsou spojeny se zpra- cováním a vyhodnocováním obrazů získaných snímáním obrazové informace (ve vědeckých experimentech, v průmyslu, medicíně, ochraně životního prostředí, televizi, polygrafii atd.).

Zpracování obrazů se stává profesí stále většího počtu odborníků z různých oblastí vědy, neboť v současné době jsou osobní počítače doplňovány multimediálními bloky pro zpraco- vání obrazů, což umožňuje jejich využití přímo v laboratořích a v konkrétních technických aplikacích. Mimořádně rychlý rozvoj v poslední době zaznamenala oblast počítačové gra- fiky, tj. algoritmy a technické prostředky na generování syntetických obrazů (například fraktálních krajin, viz [4]). V této práci jsou úlohy číslicového zpracování obrazů, což je problematika nezávislá na počítačové grafice, ale má s ní některé společné prvky.

Často užívaný způsob vyhodnocování prostorové topografie předmětu je užití technik moiré. Jedná se o poměrně jednoduchý způsob, který účinně a jednoznačně definuje troj- rozměrný obraz, případně trojrozměrné deformace předmětu. Výstupem této metody jsou (podobně jako při holografické interferometrii) interferenční proužky přímo na měřeném předmětu. Přesnost metody je v oblasti jednotek milimetrů (lze dosáhnout až 0.5 mm, pro přesnější vyhodnocení je vhodnější holografie).

Při vyhodnocování výsledků uvedených metod se nabízí užití snímacích kamer, jejich signály digitalizovat a pro archivaci takto získaných souborů použít počítač viz obrázek 1. Výhodou tohoto řešení je možnost dalšího „of-lineÿ obrazového zpracování (analýza, preparování, filtrace atd.) v paměti použitého počítače.

Zobrazovací systém1.se skládá vždy ze snímače videosignálu, zařízení na transformaci videosignálu a přenos údajů o obraze a ze syntezátoru obrazu. Pro viditelnou oblast to znamená vhodná kamera, digitalizační adaptér (framegrabber) a hostitelský počítač. Jako periferní výstupní zařízení může být monitor, tiskárna nebo přídavná optická paměť (CD, DVD). Vhodným rozšířením počítače je síťová karta pro připojení počítačové sítě, což

(9)

Obrázek 1. Schéma zobrazovacího systému

umožňuje přenášet velké objemy dat bez externích přídavných paměťových médií, mezi vyhodnocovacím a řídícím počítačem experimentu.

V této části je nutno uvést, že navržený obrazový systém je vzhledem k velkému množ- ství přenášených dat velmi závislý na kvalitě jednotlivých komponent a tím i pořizovací ceně (kvalitní fotogrammetrické systémy mají pořizovací cenu až v řádu mil. Kč.). Dále nutno podotknout, že profesionální systémy (HW i SW) pro zpracování obrazu jsou vět- šinou navrženy pro konkrétní operace a nedovolují běžně modifikace a experimentování s obrazem.

V našem případě byl požadavek při návrhu a realizaci měřicího systému pro vyhodno- cení konkrétního zadání vždy kompromisem mezi dostupnou cenou a průmyslovým využi- tím.

2. Užité prostředky

Jak bylo uvedeno v úvodní kapitole, výstupem optické soustavy je informace, kterou je pro další zpracování nutno snímat vhodným snímačem videosignálu – v našem případě kamerou.

2.1. CCD kamera MINITRON OS-75D1

Pro běžné aplikace jsme navrhovali kamery typu OS 75D1. Tyto kamery jsou osazeny

(10)

CCD prvky s organizací 768×576 pixelů (plný PAL) a jejich velikostí 7.95 x 6.95 mm.

Citlivost těchto kamer je 0.01 Lux byla s výhodou využita a napájení 12V DC bylo získáno ze zdroje hostitelského počítače. Kamery byly experimentálně odzkoušeny pro objektivy s pevnou ohniskovou vzdáleností 8,16,25 a 50 mm. Při užití transfokátoru (fmax = 70 mm) byly dosažené výsledky horší z hlediska rozlišitelnosti než u běžných objektivů. Cena těchto kamer se pohybuje v řádu 10 000 Kč.

Obrázek 2. Kamery typu OSCAR OS-75D1

2.2. Digitalizační adaptér LabView

Pro snímání obrazu s více stupni jasové intenzity byl užit profesionální adaptér (gra- bber) IMAQ-PCI 1409[1], (obrázek3.). Hlavní výhodou tohoto grabberu je snadná imple- mentovatelnost.

Obrázek 3. Fotografie digitalizační karty IMAQ-PCI 1409

(11)

Parametry:

• Řádkové snímání

• Kompatibilita s rychlými (60 snímků na sekundu) kamerami s progresivním snímáním

• 8b nebo 10b digitalizace (256 nebo 1024 úrovní šedi na pixel)

• 4 monochromatické kanály pro standardní i nestandardní zdroje signálu

• 16 MB paměti, pro zachytávací okno

• Prokládané i neprokládané snímání

2.3. Programové prostředky

Produkt fy National Instruments LabView ver. 6 (Laboratory Virtual Instruments En- gineering Workbench) je vývojovým prostředím s velkým počtem knihoven pro vytváření aplikací zaměřených do oblasti měření ve všech fázích procesu (sběr, analýza i prezentace naměřených dat). Podporuje základní způsoby sběru dat do počítače (RS 232 nebo GPIB, ze zásuvných multifunkčních karet a ze systému na bázi VXI sběrnice). Poskytuje uživa- teli programovací jazyk v grafické podobě (Graphical language) na úrovni např. jazyka C, ale v grafické prezentaci. Výsledný produkt (virtuální přístroj – Virtual Instrument) připomíná klasický přístroj ve své fyzické podobě. Jeho součástí je i produkt National Instruments IMAQTM Vision Builder 6.0 pro podporu zpracování signálů 2D [2].

3. Metody a techniky užité v práci

3.1. Technika moiré

Trojrozměrné zobrazení, které dává úplnou informaci o tvaru, případně trojrozměrné

(12)

deformaci prostorového předmětu, je technicky realizovatelné pomocí stereosnímků, stere- ofotogrammetrie a nejdokonaleji pomocí holografie.

Velmi jednoduchý způsob, který umožňuje účinný popis, jednoznačně definuje trojroz- měrný obraz, případně trojrozměrnou deformaci předmětu je metoda moiré interferometrie.

Při tomto druhu zobrazení jde obvykle o systém dvou mřížek, mřížky předmětové a mřížky referenční, které při vzájemném překrytí vytváří geometrické zastínění ve tvaru interfe- renčních moiré proužků, respektive obrazů.

3.2. Metoda moiré proužků

Moiré proužky obecně vznikají přeložením alespoň dvou mřížek (rastrů). Jedna z nich se nazývá referenční, druhá – změněná tvarem povrchu zkoumaného předmětu – předmětová.

Zpravidla se používají mřížky čárové, radiální nebo zonální. V dalším výkladu metody budeme uvažovat použití přímočarých mřížek s poměrem světlých a tmavých čar 1:1, které mají 50% propustnosti (viz obrázek 4.).

Obrázek 4. Příklad čárové mřížky s poměrem světlých a tmavých čar 1:1

Vzdálenost dvou sousedních čar rastru se nazývá perioda a značíme ji písmenem p.

Vzdálenost dvou sousedních proužků moiré měříme mezi jejich osami a označujeme písme- nem s. Úhel mezi směrem moiré proužků a směrem čar referenčního svazku označujeme φ.

Schematicky budeme znázorňovat moiré proužky čarami vyjadřující jejich osy.

(13)

Obrázek 5. Vznik moiré proužků u dvou stejnosměrných mřížek s různou periodou

Jestliže přeložíme dvě mřížky nakreslené na průhledné fólii, vzniknou interferenční útvary moiré typu v důsledku různé periody p a vzájemného sklonu mřížek θ. Na5.je sché- maticky znázorněn vznik moiré proužků dvou stejnosměrných mřížek s různou periodou.

Na obrázku 6.je uveden příklad dvou vzájemně skloněných mřížek se stejnou periodou.

Obrázek 6. Moiré proužky vzniklé ze dvou různě orientovaných mřížek se stejnou periodou

Natočením předmětového rastru mohou vzniknout proužky dvojího typu. Na obrázku 7.a vznikají tzv. rozdílové či subtraktivní moiré proužky, jejichž vztah k oběma rastrům lze vyjádřit vztahem:

N = m − n (1)

(14)

,kde N je řád proužku, m obecné značení čáry referenčního rastru a n označuje čáru předmětového rastru.

Obrázek 7. Vznik moiré proužků v důsledku různé orientace dvou mřížek. a) Rozdílové moiré proužky θ < π2, b) moiré obrazec se neprojeví pro θ = π2, c) pozorovatelné součtové moiré proužky pro θ > π2

V případě uvedeném na obrázku 7.b nejsou moiré proužky pozorovatelné a v případě uvedeném na obrázku 7.c se proužky nazývají součtové, neboli aditivní. Úhel značí veli- kost natočení předmětového rastru. Podobně jako u rozdílových proužků lze vztah mezi součtovými proužky a čarami rastrů vyjádřit výrazem:

N0 = m + n (2)

Při vlastním snímání vzoru moiré kamerou je výhodné provádět metodu integrace snímků což umožňuje omezení šumu v obraze a možnost nastavení kontrastu již při sní- mání obrazu a tím maximální možné využití dynamického rozsahu obrazu. Při snímání obrazu lze určit počet integrovaných snímků n. Volba n má vliv na obsah šumu v obraze a maximální nastavitelný kontrast. Se vzrůstající hodnotou n klesá obsah aditivního šumu v obraze. Označíme-li σ směrodatnou odchylku aditivního šumu, platí přibližně:

σ = k

√n (3)

(15)

kde k je konstanta závislá na množství šumu ve vstupním signálu.

Typické operace při vyhodnocování moiré obrazů je součet (Add), rozdíl (Subtract), difference a průměr (Average). Další podrobnosti o metodě moiré topografie, viz lit. [8].

3.3. Konvence matematického zápisu obrazových transformací

Nechť x, y ∈ R a a, b, n ∈ N, kde R označuje reálná čísla a N čísla přirozená. Dále zavádíme funkce:

cut – omezení hodnoty na interval (0;255)

cut(x) =









0 pro x < 0 x pro 0 ≤ x ≤ 255 255 pro x > 255

(4)

trunc – odseknutí desetinné části

trunc(x) = n (5)

div – celočíselné dělení

div(a, b) = trunc³a b

´

(6)

mod – zbytek po celočíselném dělení

mod(a, b) = a − bdiv(a, b) (7)

divc – dělení s omezením výsledku na interval (0,255) a zaokrouhlením

divc(x, y) =



 cut

³

round(xy)

´

pro y <> 0 255 pro y = 0

(8)

(16)

max – maximum

max(x, y) =



x pro x > y

y pro x ≤ y (9)

min – minimum

min(x, y) =



x pro x < y y pro x ≥ y

(10)

3.4. Histogram

Histogram je jednou z nejdůležitějších informací o obraze. Už při letmém pohledu na histogram můžeme o obrázku říct, zda je tmavý, světlý, kontrastní (vetšina intenzit je rozdělena mezi dvě oblasti) apod.

Histogram je statistickou veličinou popisující pravděpodobnost výskytu pixelu každé barvy, která pouze kvantifikuje jasové poměry v obraze a nenese žádné informace o jejich plošném rozdělení.

Histogram se obvykle počítá tak, že si nejprve připravíme pole čítačů (pole bude obsa- hovat tolik čítačů, kolik je možných intenzit ve snímku, obvykle 256). Potom procházíme obrázek pixel po pixelu a zjistíme jeho hodnotu. Podle této hodnoty zvýšíme čítač v poli (index bude právě intenzita pixelu) o jedničku. Výsledné pole poté vykreslíme do jedno- rozměrného grafu. Další metody výpočtu lze nalést v knize Moderní počítačová grafika[3].

Kumulativní histogram vstupního obrazu (aproximace distribuční funkce) nám udává hodnoty relativních a absolutních kumulativních četností.

(17)

Obrázek 8. Histogram a kumulativní histogram

Význam hodnot histogramu:

Value – okamžitá hodnota pro reálné měření

Abs. num. – absolutní počet pixelů, které mají stejnou hodnotu intenzity

Rel. num. – relativní četnost v % (poměrové zastoupení pixelů dané intenzity ku všem pixelům)

Range – rozsah intenzit pixelů v obraze

Mean value – odhad střední hodnoty, viz vzorec 11

Variance S2 – výběrový rozptyl, vzorec 12

n – počet všech pixelů v obrázku

M = 1 n

X255 i=0

ih(i) (11)

S2 = 1 n

X255

i=0

(i − M)2h(i) (12)

(18)

3.5. Fourierova transformace

Běžně chápeme obrázek jako matici bodů o různé intenzitě a barvě. Takové prezentaci říkáme prostorová oblast. Neozbrojeným okem snadno rozpoznáme výraznější šum, arte- fakty a barevné vady snímku. Pro důkladnější analýzu se musíme přesunout do frekvenční oblasti, kde neanalyzujeme polohu jednotlivých obrazových bodů, ale hledáme peaky har- monických frekvencí, které znamenají přítomnost proužků a pravidelných vzorů v obraze.

Dále můžeme například odstranit vysoké frekvence (čímž odstraníme šum a detaily, ale zachováme celkovou topologii snímku), nebo naopak zvýrazníme určité frekvenční pásmo pro další analýzu (např. pro automatickou kontrolu mřížek).

Fourierovu transformaci jednorozměrné funkce (například profilu vybrané úsečky ve snímku), můžeme vypočítat pomocí následujících vzorců:

F (u) = Z +∞

−∞

f (x)e−i2πuxdx (13)

f (x) = Z +∞

−∞

F (u)e+i2πuxdu (14)

kde i =

−1 je komplexní jednotka, funkce F (u) je Fourierův obraz funkce f (x). In- tegraci 13 říkáme dopředná Fourierova transformace, integraci 14 pak zpětná Fourierova transformace.

Analogicky pro obrázek použijeme FFT ve dvou rozměrech:

F (u, v) = Z +∞

−∞

Z +∞

−∞

f (x, y)e−i2π(ux+vy)dxdy (15)

f (x, y) = Z +∞

−∞

Z +∞

−∞

F (u, v)e+i2π(ux+vy)du (16)

Na obrázku9.je příklad výkonového spektra čtverce. V počítačové grafice má výkonové spektrum širší uplatnění, než spektrum fázové (nebo komplexní), které se uplatňují v teorii signálů.

(19)

Obrázek 9. Ukázka výkonového spektra (vpravo) obrázku čtverce (vlevo)

3.6. Ekvalizace

Jednou z často používaných metod změny jasových poměrů v obraze je ekvalizace. Ob- čas dostaneme obrázek, jehož intenzita pixelů nepokrývá celý interval (0;255), ale jen jeho malou část např. (20;100). Pro další vyhodnocování (a zvláště pro vizuální vyhodnocení) je velmi výhodné provést transformaci hodnot všech pixelů tak, aby byl využit celý rozsah zobrazení umožněný užitým obrazovým analyzátorem.

Základem je vytvoření převodní funkce:

Bx,y = f (Ax,y) (17)

kde A, B jsou matice původního, resp. nového obrazu a x ∈ (0; xmax), y ∈ (0; ymax).

Definiční obor i hodnot hodnot leží na intervalu (0;255).

Označíme-li a minimální a b maximální hodnotu pixelů obrazu, potom funkce f (x) je dána následujícím vztahem:

f (x) = round µ 255

b − a(x − a)

(18)

3.7. Operace sčítání dvou obrazů – add

Vzhledem k tomu, že součet intenzit jasu dvou pixelů může přesáhnout interval (0;255),

(20)

musíme po sčítání buď provést lineární transformaci do tohoto intervalu, nebo ořezání hodnot vyšších než 255 na hodnotu 255.

3.7.1. Operace add – compress

Je definovaná vzorcem:

Cx,y = trunc

µAx,y + Bx,y 2

(19)

kde A, B jsou vstupní obrazy (matice), C je výsledný obrázek a x ∈ (0; xmax), y ∈ (0; ymax) jsou souřadnice pixelů v obrázku.

Tato operace je vhodná pro průměrování obrazů za účelem snížení šumu. Lze ji užít i pro skládání snímků v různých částech spektra.

3.7.2. Operace add – cut

Cx,y = cut(Ax,y+ Bx,y− D) (20)

kde D je displacement (posunutí), který je nutno stanovit vhodným způsobem.

3.8. Operace odčítání dvou obrazů – subtract

Odečet dvou obrazů. Rozdíl intenzit dvou různých pixelů leží v intervalu (-255;255), proto je nutno provést buď lineární transformaci (subtract – compress) do intervalu (0;255), nebo ořezání (subtract – cut).

(21)

3.8.1. Operace subtract – compress

Je definována vztahem:

Cx,y = trunc

µAx,y− Bx,y

2 + 128

(21)

Tato operace je vhodná k porovnávání dvou obrazů, viz kapitola4.6. Umožňuje porov- nat kladné i záporné odchylky, na rozdíl od operace diference.

3.8.2. Operace subtract – cut

Operace vhodná k odstranění nerovnoměrného nasvětlení obrazového pole a odstranění zkreslení způsobenou různou citlivostí CCD prvků v kameře.

Cx,y = cut(Ax,y− Bx,y+ D) (22)

3.9. Operace porovnání obrazů – diference

Operace slouží k vzájemnému porovnání dvou obrazů. Je definována vztahem:

Cx,y = |Ax,y− Bx,y| (23)

Určuje absolutní hodnotu rozdílu intenzit jasů jednotlivých pixelů.

(22)

4. Experiment

4.1. Hardwarové vybavení

Nejdříve bylo nutné nainstalovat hardware a potřebný software na osobní počítač. Měl jsem k disposici PC s procesorem Intel Pentium, 64 MB RAM a grafickou kartou Ati Rage Fury Pro/Xpert 2000 Pro. Tato sestava se později ukázala plně dostačující potřebám zpracování obrazu v rozlišení PAL (768x576).

Sestavu dále tvořila barevná CCD kamera MINITRON OS-75D1. Tato kamera má ma- nuální ostření, clonu je možné ovládat přes rozhraní RS323. Kamera byla připojena ana- logovým video výstupem k digitalizační kartě IMAQ-PCI 1409 [1]od společnosti National Instruments. Tato karta umožňuje 10b digitalizaci obrazu (tj 1024 stupňů šedi).

Při prvním pokusu o instalaci karty IMAQ-PCI 1409 se vyskytly problémy s ovladači (operační systém MS Windows Me nedetekoval hardware správně). Tyto problémy vyře- šilo odebrání nepotřebného TV Tuneru Pinacle a zvukové karty Sound Blaster (zřejmě docházelo ke kolizím v přidělování IRQ).

4.2. Softwarové vybavení

Na PC byl nainstalovaný operační systém MS Windows Me. Pro vývoj programu bylo potřeba doinstalovat prostředí National Instruments LabView, konkrétně ve versi 6.0i. Dále bylo potřeba nainstalovat image processing tools a ovladače pro digitalizační kartu (NI- IMAQ). Na počáteční otestování systému jsem použil program ImaqVision [2]a MAX od National Instrument.

Pro ověření funkcí programovacího prostředí LabView jsem sestavil dva programy, které mohou sloužit v laboratoři optiky. Jsou to programy Analýza, který je zaměřený na statis- tické vyhodnocení snímků z kamery v reálném čase a program Diference, který porovnává snímky z kamery a slouží pro praktické využití při vyhodnocení moiré.

(23)

4.3. Program Analýza

Program Analýza je zaměřen především na získávání informací o snímku v reálné čase.

Jedná se o funkce: histogram, profil intenzit pixelů vybrané úsečky z obrázku a její výkonové spektrum.

4.3.1. Popis programu

Hlavním prvkem je okno s aktuálním výstupem z kamery. Do tohoto okna se také vykresluje bílá linka vybrané úsečky pro další analýzu.

Obrázek 10. Hlavní okno programu, výstup z kamery

Dalším indikačním prvkem je graf s profilem intenzit vybrané úsečky programu a his- togram celého snímku. Graf profilu se hodí zejména pro přesné nastavení kamery na místo zájmu v experimentu. Jemnější nastavení je možné provést změnou souřadnic počátku a konce úsečky pro profil.

(24)

Obrázek 11. Profil vybrané úsečky z předchozího výstupu z kamery a histogram

Posledním indikačním prvkem je graf spektra profilu vybrané úsečky. Spektrum je po- třebné opět pro analýzu například mřížek, kdy se ve spektru objeví několik špiček harmo- nických frekvencí.

Obrázek 12. Spektrální analýza profilu vybrané úsečky

Všechny tyto indikátory zobrazují změny v reálném čase, na použitém osobním počí- tači dosahoval framerate 10 snímků za sekundu (na tuto hodnotu byl omezen zpožděním ve while smyčce), na výkonnějším počítači není problém dosáhnout snímkové rychlost kamery, tedy 25 fps, případně (při použití rychlé kamery), 60 snímků za sekundu.

(25)

4.3.2. Návrh a realizace

Obrázek 13. Pohled na zdrojový kód programu

Prvním krokem je inicializace digitalizační karty IMAQ-PCI 1409 na snímání z prv- ního vstupu (funkce IMAQ INIT) a vytvoření paměťového místa pro snímek (funkce IMAQ CREATE). Karta je nastavena na výchozí hodnoty (8 b – tedy 256 úrovní šedi, rozlišení Full PAL). Při vytvoření je nutné explicitně zadat barevnou hloubku 8 b.

Obrázek 14. Inicializace karty a vytvoření paměťového místa pro obraz

Druhým krokem je získání snímku z karty (funkce IMAQ SNAP). Během této operace

(26)

se běh programu zastaví na dobu potřebou pro digitalizaci jednoho snímku tedy 1/25s.

Snímaný obrázek potom analyzuji (histogram, rozměry, výběr jedné řádky a její FFT analýza).

Obrázek 15. Grab snímku z kamery, zpracování pro histogram, zjištění rozměrů

Pro jednorozměrnou FFT transformaci potřebuji získat jeden řádek snímku. Řádek je nastaven doprostřed snímku, není problém získat libovolný jiný (a nemusí se jednat o kolmé směry) pouhou změnou konstant určujících počáteční a koncové souřadnice úsečky.

Obrázek 16. Získání jednoho řádku ze snímku

Získaný řádek (jedná se o jednorozměrné pole obsahující reálná čisla v intervalu (0; 1), reprezentace double) se analyzuje reálnou FFT analýzou (funkce FFT Real) a výsledná data pro zvýraznění upravují funkcí ln(x) a vykreslí do grafu.

Obrázek 17. FFT analýza jednoho řádku

(27)

Program dále do snímku přidává vybranou měřenou úsečku (1 px, bílé barvy) a vykreslí celý snímek na obrazovku.

Obrázek 18. Vykreslení získaného snímku

Pro vykreslení obrázku je nutné vygenerovat barevnou paletu, v tomto případě 256 odstínů šedi. Barevná paleta je pole 256 hodnot RGB (červená, modrá, zelená, jeden byte na jednu základní barvu). Toto pole bylo vytvořeno ve smyčce for, kde se vynásobí aktuální hodnota čítače i s konstatnou 010101h. Čímž vznikne pole: 00 00 00h, 01 01 01h, . . . , FF FF FFh.

Obrázek 19. Vytvoření barevné palety pro vykreslení snímku

Obrázek 20. Nastavení doby čekání a ukončení programu pomocí tlačítka

Všechny výše popsané kroky běží v nekonečné while smyčce, kterou je možné kdykoliv přerušit (a tak ukončit běh programu), stiskem tlačítka STOP. Zpoždění smyčky 100 ms byl zvolen jako kompromis mezi počtem snímků za 1 s a vytížením procesoru použitého počítače.

(28)

4.4. Program Diference

Program diference se skládá ze získání prvního snímku do paměťového místa 1 získaného funkcí IMAQ Create. Ve while smyčce se poté funkcí IMAQ Snap do paměťového místa 0 ukládá aktuální snímek, který je poté funkcí IMAQ Subtract odečten od prvního snímku.

Tento rozdíl je uložen do paměťového místa 2 a vykreslen na obrazovku.

Obrázek 21. Zdrojový kód programu Diference

4.5. Použité funkce

4.5.1. IMAQ Init

Obrázek 22. Funkce inicializace digitalizační karty

Funkce inicializuje digitalizační hardware podle parametru Interface Name (jméno rozhraní) a vrátí IMAQ Session popisovač zvoleného rozhraní pro další funkce. V případě neúspěchu vrátí chybový kód error out.

(29)

4.5.2. IMAQ Create

Obrázek 23. Funkce pro vytvoření paměťového místa pro uložení snímku

Funkce vytvoří v paměti počítače prostor pro uložení snímku. Důležité parametry jsou:

Image Name (jméno obrázku), každý vytvořený obrázek v programu musí mít jedinečné jméno, Image Type (typ uloženého obrázku), nastavení bitové hloubky (8b, 10b). Funkce vrací New Image, nebo error v případě neúspěchu (například není dostatek volné paměti).

4.5.3. IMAQ Snap

Obrázek 24. Funkce pro získání aktuálního snímku z digitalizační karty

Funkce získá jeden snímek z bufferu digitalizační karty a uloží jej do Image in (vstup- ního obrazu), předem vytvořeným funkcí IMAQ Create. Dalším vstupním parametrem je IMAQ Session In, vytvořený funkcí IMAQ Init.

(30)

4.5.4. IMAQ Copy

Obrázek 25. Funkce pro kopírování snímku do jiného paměťového místa

Funkce zkopíruje obsah obrázku Image Src do Image Dst, který ovšem funkce nevy- tvoří, proto je nutné jej vytvořit funkci IMAQ Create. Výstupem je zkopírovaný obrázek.

4.5.5. IMAQ Subtract

Obrázek 26. Funkce odečtení dvou snímků

Funkce odečte dva snímky způsobem popsaným v kapitole 3.8. Vstupem jsou dva ob- rázky, které chceme odečíst (Image Scr A, Image Scr B) a obrázek Image Dst, kam se uloží výsledek.

(31)

4.5.6. IMAQ WindDraw

Obrázek 27. Funkce rychlého vykreslení snímku do samostatného okna

Funkce vytvoří nové okno pro vykreslení snímku. Je velmi rychlá, umí spolupracovat přímo z grafickým adaptérem přes služby operačního systému. Nejdůležitější parametrem je vstupní obrázek (Image), pokud potřebujeme mít v programu více oken, je nutné je vzájemně rozlišit identifikátorem Windows Number. Volitelný parametr Title udává titulek vytvořeného okna.

(32)

4.6. Ověření postupu

Pro ověření funkčnosti programu diference byl sestaven jednoduchý model s mřížkou vytištěnou na papír, viz následující obrázek:

Obrázek 28. Referenční mřížka

Tuto mřížku jsem zdeformoval přítlakem na střed spodní hrany.

Obrázek 29. Zdeformovaná mřížka

Program provádí odečet v reálném čase, takže na obrazovce okamžitě vidíme moiré vzniklé deformací mřížky:

(33)

Obrázek 30. Rozdíl předchozích snímků, vznikají moiré proužky

Po další úpravě ekvalizací (viz kapitola 3.6.), dostaneme obrázek s výrazným moiré vhodný k dalšímu zpracování, například na deketekci hran apod.

Obrázek 31. Předchozí obrázek po ekvalizaci

(34)

Pro získání detailnějších moiré proužků je vhodné odstranit vetrikální, nebo horizontální proužky dané referenční mřížkou. To zle provést převodem snímku na fourierův obraz, filtrací tohoto obrazu a zpětnou tranformací.

Obrázek 32. Spektrum snímku 28. a jeho filtrace pro odstranění vertikálních proužků

Na následujícím obrázku je snímek referenční mřížky (viz28.) po odstranění vertikálních proužků.

Obrázek 33. Snímek referenční mřížky po odstranění vertikálních proužků

(35)

Podobným způsobem zpracujeme i snímek deformované mřížky a oba snímky odečteme metodou subtrakt (viz kapitola3.8.).

Obrázek 34. Rozdíl referenční a deformované mřížky po odstranění vertikálních proužků

(36)

5. Závěr

Vývojové prostředí LabView se ukázalo zcela dostatečným potřebám analýzy snímků v reálném čase. Obsahuje bohatou zásobu knihovních funkcí pro zpracování, analýzu, fil- traci a ukládání obrazů. Společnost National Instruments dodává také špičkový měřící hardware od převodníků na USB sběrnici, přes měřící karty do osobních počítačů na sběr- nici PCI po profesionální řešení na bázi VXI. Instalace grabberu použitého v této práci byla bezproblémová, implementace dodaného software (IMAQ Vision) do LabView nevy- žadovala žádné složitější zásahy administrátora do operačního systému.

Programovací jazyk vývojového prostředí LabView je založen na grafické reprezentaci funkcí na rozdíl od většiny ostatích jazyků, ve kterých se program píše do textového sou- boru. Výhodou je velmi rychlý vývoj i složitých měřících virtuálních přístrojů, návrh a samotné programování zde splývá v jeden celek. Tyto vlastnosti jsou vykoupeny nižším výkonem těchto programů (v porovnání například s programem napsaným v jazyku C).

V tomto prostředí byly ověřeny postupy zpracování obrazu pro potřeby optické la- boratoře na Přírodovědecké fakultě. Jedná o analýzu a zpracování snímků získaných při měření povrchů pomocí moiré proužků. Byly implementovány algoritmy pro porovnání dvou snímků a celková analýza snímku podle potřeb laboratoře.

(37)

Reference

[1] NATIONAL INSTRUMENTS, IMAQ PCI/PXITM – 1409. North Mopac Expressway Austin, Texas 78759–3504 USA

[2] NATIONAL INSTRUMENTS, IMAQ Vision for LabVIEW. North Mopac Expressway Austin, Texas 78759–3504 USA

[3] ŽÁRA, J. BENEŠ, B. Moderní počítačová grafika. Computer Press, 1998.

[4] CRHONEK, T. Spektrální syntéza v prostoru [prezentace]. Universita Palackého, Olo- mouc 2005.

[5] NATIONAL INSTRUMENTS, LabView User Manual. National Instruments Corpo- ration, USA Texas, 2000

[6] NATIONAL INSTRUMENTS, LabView Measurements Manual. National Instruments Corporation, USA Texas, 2000

[7] GNU IMAGE MANIPULATION PROGRAM, [online]<http://www.gimp.org/>.

[8] KEPRT, J., VYHNÁNKOVÁ, R., BARTONĚK, L.Aplikace moiré topografie ve sto- matologické praxi. Jemná mech. a optika, Vol. 43 (1998), čís. 5, 145-154.

References

Related documents

Na dalším snímku vidíme rozmístění karbidu a zvětšené zrno (obr. Na posledním snímku obr. 75 stojí za povšimnutí zvýrazněné zrno. Všechny snímky

Pouze ve světlém poli (obr. 180) byla zrna mírně barevně rozlišena. 182 a 183 jsou patrné málo výrazné rozdíly v naleptání jednotlivých zrn po 30 s leptání.

Po načtení hodnot do bleděmodře označené oblasti listu zadání+graf a jejich zpracování na mezivýsledky v listech kladné síly (nebo kladné rychlosti) a

{ Popisy obrazu, zvýraznění částí, linie, tvary bez změny původního obrazu. { Ovlivňuje

Úlohu pro Houghovu transformaci je mož- né formulovat jako hledání takové podmnoži- ny bodů v obraze, která co nejvíce odpovídá části přímky – úsečce. Každý bod

Bižuterní kámen (dále jen BK) je nasnímán ze strany, za použití zadního osvětlovače. Prvním krokem, který je potřeba udělat s pořízeným digitálním obrazem, je

Bižuterní kámen (dále jen BK) je nasnímán ze strany, za použití zadního osvětlovače. Prvním krokem, který je potřeba udělat s pořízeným digitálním obrazem, je

Mezinárodní hnutí Tmavé oblohy si v t chto oblastech dalo za cíl oblohu ztmavit (Dark-Sky Association Ň01ňě. Vyvstávají otázky, o kolik mají chrán ná území