• No results found

Základy zpracování obrazuvprostředí LabVIEW

N/A
N/A
Protected

Academic year: 2022

Share "Základy zpracování obrazuvprostředí LabVIEW"

Copied!
2
0
0

Loading.... (view fulltext now)

Full text

(1)

s obrazovou funkcí lze považovat např. fil - traci, prahování, hledání hran či vyhlazení.

Vždy se jedná o to, aby výsledná obrazová funkce g(x, y) byla podrobena takové opera- ci h(x, y), s jejíž pomocí je dosaženo požado- vané nebo hledané vlastnosti obrazu. Filtrace je obecná operace s obrazovou funkcí umož - ňující eliminaci rušení, šumu a dalších nežádoucích jevů. Prahování a hledání hran jsou operace, jejichž výsledkem je nalezení takových změn v charakteristické vlastnosti objektů v obraze (jas, barva, tvar apod.), které lze následně použít pro úlohy počítání objektů v obrazu, posuzování nebo měření tvaru objektu apod. Vyhlazení je operace, při níž se potlačují velké změny charakteristické vlastnosti objektů

v obraze (jas, barva apod.), a obraz se tak průměruje, přičemž se tím eliminuje šum a rušení (jde tedy o filtraci).

Při práci s obrazem budeme pracovat mimo jiné s pojmy: pixel, oblast zájmu – ROI (Region Of Interest), jak bylo znázorně- no na obr. 1, případně okolí (např. 4-okolí, 8- okolí, okolí 3 × 3 apod.), jak je znázorněno na obr. 2.

Pro zpracování obrazu je třeba použít vhodný matematický nástroj, který by dovo- lil poměrně snadno provádět operace s obrazovou funkcí. Základní metody práce s obrazovou funkcí pracují s analýzou pixelu a jeho určitého vybraného okolí. Hodnota tohoto pixelu (v našem případě jas) je potom nahrazována lineární kombinací hodnot ve zkoumaném okolí. Významným nástrojem je konvoluce.

Konvoluce

Konvoluce je definována [6 a 14] pro spojité funkce f(t) a h(t) vztahem

(1) Operátorem * je vyznačen symbolický vztah mezi dvěma funkcemi f a h (skutečné násobení platí pro Laplaceovy obrazy těchto funkcí). Funkci h se říká též konvoluční jádro.

Pro diskrétní 2D funkce (těmi obrazové funkce jsou) lze uvedený vztah přepsat do tvaru

(2) kde M, resp. N je počet sloupců, resp. řádků zkoumané obrazové funkce f. Dále je třeba připomenout, že pro i < 0 a pro j < 0 je h(i, j)

= 0.Výraz konvoluce má původ v latinském slově convolutus, což znamená stočený, obtočený, což do jisté míry popisuje význam této funkce – operace pracuje s definovaným okolím „obtáčejícím“ definovaný středový pixel. Konvolučnímu jádru h v diskrétním tvaru (ve tvaru dvourozměrné matice) bude- me rovněž říkat filtr.

Zpracování obrazu je jednou z významných součástí v současnosti velmi bouřlivě se roz- víjející vědní disciplíny s názvem „počíta- čové vidění“, jejíž kořeny se nacházejí v oblasti televizní techniky, kybernetiky, výpočetní techniky, ale rovněž v oblasti opti- ky či obecně fyziky, a která ve značné míře využívá matematických a numerických metod. Tento článek si klade za cíl seznámit čtenáře s některými základními metodami a výchozími postupy zpracování obrazu nasnímaného kamerou s použitím základ- ních nástrojů poskytovaných programovým prostředím LabVIEW.

ÚvodV teorii zpracování obrazu [2, 3 a 4] se vel- mi často pracuje s pojmem dvourozměrný (2D) obraz a jeho interpretací v podobě obrazové funkce f(x, y), jejíž každý prvek o souřadnici (x, y) nese informaci o jednom prvku obrazu – pixelu (picture element – obrazový prvek). Pro názornost a z důvodu zjednodušení budeme pracovat v dalším popisu s černobílou interpre- tací nasnímané scény. Proto budeme předpo- kládat, že každý prvek obrazové funkce f(x, y) je tvořen celým číslem popisujícím jasovou informaci jednoho pixelu. Obrazovou funkci lze potom psát ve tvaru dvourozměrného pole – matice a s ní dále pracovat pomocí matematic- kých funkcí pro práci s maticemi. Na obr. 1 je znázorněn příklad výřezu obrazu a části obra- zové funkce.

Operace s obrazem a obrazovou funkcí Při zpracování obrazu je třeba mít k dispozici především takové nástroje, které umožní s dostatečnou přesností a rychlostí zpracování vykonat potřebné operace s obra- zovou funkcí f(x, y). Za základní operace

Základy zpracování obrazu v prostředí LabVIEW

ZPRACOVÁNÍ OBRAZU

A U T O M A T I Z A C E • R O Č N Í K 5 2 • Č Í S L O 1 • L E D E N 2 0 0 9

40

Obr. 1 Příklad obrazu a obrazové funkce

oblast z·jmu (ROI)

v˝¯ez Ë·sti obrazu

v˝¯ez matice obrazovÈ funkce ( , ) (p¯Ìklad jasovÈ funkce) f x y

...

...

...

...

50 0 0 120

0 50 250 0

0 120 50 255

255 0 120 50 ...

...

...

...

Obr. 2 Obrazový prvek (pixel) a jeho okolí

pixel

pixel a jeho 4-okolÌ

pixel a jeho 8-okolÌ (okolÌ 3 ◊ 3)

Obr. 3 Základní část programu pro zpracování obrazu – hranový filtr Obr. 4 Čelní panel programu pro zpracování obrazu – hranový filtr g( )t = f( ).h(t− ) d =f( ) * h( )t t

=

+∞

τ τ τ

τ 0

g( , )x y f( , ) h(i j x i y j, )

j N i

=M − − =

=

=

0 1

0 1

f( , ) * h( , )x y x y

=

(2)

Praktické řešení v LabVIEW

Prostředí LabVIEW nabízí celou řadu funkcí pro práci jak s maticemi, tak obecně se signály. Lze rovněž dokoupit a doinstalo- vat NI Vision Development Module, který obsahuje další funkce pro práci s obrazem.

V tomto článku však využijeme subpaletu funkcí pro obecnější zpracování signálů, kte- rá je obsažena již např. v demoverzi na Evaluation CD.

Pro základní práce s obrazem, resp.

s obrazovou funkcí, v prostředí LabVIEW můžeme využít funkci Convolution.vi, která se nachází na subpaletě Functions»Signal Processing»Signal Operation. Funkce Convolution.vi má dva signálové vstupy X a Y, na něž připojujeme obrazovou funkci f a konvoluční jádro (filtr) h. Pro maximální zjednodušení a názornost budeme pracovat s obrazovou funkcí f(x, y) v podobě dvou- rozměrné matice s hodnotami jasu jednotli- vých pixelů, přičemž tuto matici jsme před- tím získali např. z kamery či ze souboru obsahujícího uložený obraz např. ve formátu BMP apod.

Vlastní řešení filtrace je poměrně snadné:

na plochu blokového diagramu vložíme do smyčky While funkci konvoluce, na její vstup X připojíme matici s obrazovou funkcí (obsahuje hodnoty jasu vstupního obrazu v rozlišení 0 až 255, přičemž hodnotě 0 odpovídá černá barva a hodnotě 255 bílá bar- va pixelu) a na vstup Y matici filtru (tedy konvoluční jádro). Matematicky jde tedy o realizaci vztahu (2).

V prvním příkladu (obr. 3) je využita kon- voluce pro realizaci hranového filtru.

V daném případě je použit filtr, jehož matice je

(3)

což je podle [3] aproximace Laplaceova gra- dientního operátoru pro druhou derivaci

V daném 8-okolí je celkem devět prvků, takže hodnota výsledného jasu každého pixe- lu se bude skládat s příspěvků 1/9 hodnot jasů okolních pixelů.

Někdy je vhodné zvětšit váhu středového pixelu nebo pixelů v jeho okolí. Příkladem je maska s maticí

(5)

V příkladu na obr. 5 je použita maska pro vyhlazení ve tvaru podle vztahu (5).

Opět je možné si „hrát“ s hodnotami mas- ky pro vyhlazení a zjišťovat její efektivní působení. Je zřejmé, že pro každý druh vstupního obrazu a pro požadované zpraco- vání bude třeba volit vhodné konvoluční masky a jejich hledání a nalezení může být poměrně náročným procesem.

Závěr

Není účelem tohoto článku vyčerpáva- jícím způsobem popisovat metody zpraco- vání obrazu. Hlavním smyslem je čtenáře zís- kat pro danou problematiku a nasměrovat k využití prostředí LabVIEW. Základní infor- mace o programování v prostředí LabVIEW lze čerpat z [5, 10, 13 a 9]. Pro studium tema- tiky zpracování obrazu lze doporučit další zdroje informací, kterých však bohužel v českém, resp. slovenském jazyce není mno- ho. Čerpat lze např. z dnes již „klasické“ kni- hy [2] nebo skript [3], samozřejmě též z rozsáhlé učebnice v angličtině [3].

Informace lze také získat z dalších, přede- vším internetových zdrojů [12 a 15].

Ing. Jaroslav Vlach obrazové funkce f v

8-okolí středového pixelu (Laplacián).

Na obr. 4 je znázorněn čelní panel vytvářeného progra- mu, kde vlevo je zná - zor něn výchozí obrázek (Veronika u Niagarských vodo- pádů), který je do programu vložen ve formě matice o rozměrech 256 × 256 pixelu. Vpravo je potom znázorněn výsledek konvoluční operace – obraz se zdůrazněnými hrana- mi, tedy místy změny jasu v obrazu. Je potom poměrné snadné zkoušet měnit konkrétní tvar konvo- lučního filtru a sledovat výsledky jeho čin- nosti. S výsledným obrazem lze dále praco- vat (např. provést inverzi barev).

V dalším příkladu rozšíříme program (resp. vytvořený virtuální instrument – VI) o další filtr, kterým budeme provádět vyhlazení.

Základní metodou vyhlazení je průměrování, kde každému pixelu přiřadíme novou jasovou hodnotu vypočtenou jako průměr hodnot jasu ve zvoleném okolí (např. v 8-okolí).

Filtrem pro průměrování v 8-okolí může být např. jednoduchá konvoluční maska průměrující hodnoty pixelů v 8-okolí, která je dána maticí

(4)

ZPRACOVÁNÍ OBRAZU

41

A U T O M A T I Z A C E • R O Č N Í K 5 2 • Č Í S L O 1 • L E D E N 2 0 0 9

L I T E R A T U R A

[1] Začínáme s LabVIEW. Praha : NI Czech, 2006.

[2] HLAVÁČ, V., ŠONKA, M., Počítačové vidění.Praha : Grada Publishing, 1992.

[3] HLAVÁČ, V., SEDLÁČEK, M., Zpracování signálů a obrazu (skripta FEL ČVUT).

Praha : ČVUT, 2007.

[4] SONKA, M., HLAVAC, V., BOYLE, R., Image Processing, Analysis, and Machine Vision, Thomson Learning. Toronto, 2008.

[5] PECHOUŠEK, J., Základy programování v prostředí LabVIEW. Olomouc : Vydavatelství UP Olomouc, 2004.

[6] PÍRKO, Z., VEIT, J., Laplaceova trans- formace.Praha : SNTL, 1972.

[7] NOVÁK, V., ZÍTEK, P., Praktické metody simulace dynamických systémů.Praha : SNTL, 1982.

[L8]VLACH, J., Začínáme s LabVIEW.

Sdělovací technika, 2008, č. 4, s. 20–21.

[9] VLACH, J. a kol., Začínáme v LabVIEW.

Praha : BEN – Technická literatura, 2008.

[10] ŽÍDEK, J., Grafické programování ve vývojovém prostředí LabVIEW (výuková skripta). Ostrava : VŠB-TU Ostrava, 2006.

[11] Internet: www.ni.com/czech [12] Internet: http://itakura.kes.tul.cz/pv [13] Internet: http://autnt.fme.vutbr.cz/lab

/FAQ/labview/VI_Skripta.pdf [14] Internet: http://cs.wikipedia.org [15] Internet: www.fit.vutbr.cz/~spanel/seg -

mentace Obr. 5 Rozšíření programu pro zpracování obrazu – vyhlazení

H =

⎢⎢

⎥⎥

1 1 1

1 8 1

1 1 1

H =

⎢⎢

⎥⎥

⎥ 1

9

1 1 1 1 1 1 1 1 1

H =

⎢⎢

⎥⎥

⎥ 1

16

1 2 1 2 4 2 1 2 1

References

Related documents

Stojí za to zmínit normu litiny s lupínkovým grafitem ČSN EN 1561, která uvádí modul pružnosti jako poměrně široký rozsah hodnot s komentářem, že hodnota E

Tato bakalářská práce se zabývá negativně působícími vlivy, které se vyskytují u povolání sestry a ovlivňují její zdraví. Povolání sester je velice náročné a těţké.

Vyhodnocení ploch mechanického opotřebení šicích jehel bude provedeno prostřednictvím dvoufaktorové metody ANOVA, přičemž jedním faktorem bude povrch

Prvním úkolem je porovnání různých druhů nerovnovážného tepelného zpracování, které mají vliv na výslednou strukturu a mechanické vlastnosti oceli.. Dalším úkolem je

Teoreticky by ovšem ekvivalentní průměr přízí měl být nižší, jelikož počítá s vyšší hodnotou zaplnění (0,5) než jsou zjištěné hodnoty zaplnění a opomíjí

Na začátku předškolního období se u dítěte nejčastěji setkáme s otázkou „Proč?“ (Koťátková, 2014, s. Nevnímá jiţ věci jako objekt, ale všímá si více

Některé přípravy mohly být rozpracovány podle věku (pracovní listy, výtvarná činnost…), ale netýkalo se to každé aktivity. Proto se využívala individuální

Bakalářská práce vyzdvihuje důleţitý význam pohybových činností v ţivotě předškolního dítěte především v jeho volném čase. Jak je v kapitolách teoretické