FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ
Počítačové vidění Počítačová cvičení
Autoři textu: Ing. Karel Horák, Ph.D.
Brno
1.11.2008
2
FEKT Vysokého učení technického v Brně
Obsah 1
ÚVOD ..................................................................................................................................4
2
ZAŘAZENÍ PŘEDMĚTU VE STUDIJNÍM PROGRAMU..........................................4 2.1 ÚVOD DO PŘEDMĚTU ....................................................................................................... 5 2.2 VSTUPNÍ TEST.................................................................................................................. 5
3
CVIČENÍ I. – DISKRÉTNÍ OBRAZ ...............................................................................6 3.1 3.2 3.3 3.4
4
CVIČENÍ II. – ARITMETICKÉ OPERACE .................................................................8 4.1 4.2 4.3 4.4
5
TEORETICKÝ ÚVOD........................................................................................................ 14 ÚKOLY .......................................................................................................................... 15 DOBRÉ VĚDĚT ............................................................................................................... 15 VÝSLEDKY .................................................................................................................... 15
CVIČENÍ VI. – DETEKCE HRAN ...............................................................................16 8.1 8.2 8.3 8.4
9
TEORETICKÝ ÚVOD........................................................................................................ 12 ÚKOLY .......................................................................................................................... 13 DOBRÉ VĚDĚT ............................................................................................................... 13 VÝSLEDKY .................................................................................................................... 13
CVIČENÍ V. – DISKRÉTNÍ KONVOLUCE ................................................................14 7.1 7.2 7.3 7.4
8
TEORETICKÝ ÚVOD........................................................................................................ 10 ÚKOLY .......................................................................................................................... 11 DOBRÉ VĚDĚT ............................................................................................................... 11 VÝSLEDKY .................................................................................................................... 12
CVIČENÍ IV. – SEGMENTACE PRAHOVÁNÍM ......................................................12 6.1 6.2 6.3 6.4
7
TEORETICKÝ ÚVOD.......................................................................................................... 8 ÚKOLY ............................................................................................................................ 9 DOBRÉ VĚDĚT ................................................................................................................. 9 VÝSLEDKY .................................................................................................................... 10
CVIČENÍ III. – BODOVÉ JASOVÉ TRANSFORMACE ..........................................10 5.1 5.2 5.3 5.4
6
TEORETICKÝ ÚVOD.......................................................................................................... 6 ÚKOLY ............................................................................................................................ 7 DOBRÉ VĚDĚT ................................................................................................................. 7 VÝSLEDKY ...................................................................................................................... 8
TEORETICKÝ ÚVOD........................................................................................................ 16 ÚKOLY .......................................................................................................................... 17 DOBRÉ VĚDĚT ............................................................................................................... 17 VÝSLEDKY .................................................................................................................... 18
CVIČENÍ VII. – REDUKCE ŠUMU A OSTŘENÍ OBRAZU ....................................18 9.1 9.2 9.3 9.4
TEORETICKÝ ÚVOD........................................................................................................ 18 ÚKOLY .......................................................................................................................... 19 DOBRÉ VĚDĚT ............................................................................................................... 19 VÝSLEDKY .................................................................................................................... 20
10 CVIČENÍ VIII. – NÁVRH HRANOVÉHO FILTRU ..................................................20
Počítačové vidění
3
10.1 TEORETICKÝ ÚVOD ........................................................................................................ 20 10.2 ÚKOLY ........................................................................................................................... 21 10.3 DOBRÉ VĚDĚT ................................................................................................................ 21 10.4 VÝSLEDKY ..................................................................................................................... 22 11 CVIČENÍ IX. – FILTRACE OBRAZU V KMITOČTOVÉ OBLASTI .................... 22 11.1 TEORETICKÝ ÚVOD ........................................................................................................ 22 11.2 ÚKOLY ........................................................................................................................... 24 11.3 DOBRÉ VĚDĚT ................................................................................................................ 24 11.4 VÝSLEDKY ..................................................................................................................... 24 12 CVIČENÍ X. – MORFOLOGICKÉ OPERACE .......................................................... 25 12.1 TEORETICKÝ ÚVOD ........................................................................................................ 25 12.2 ÚKOLY ........................................................................................................................... 26 12.3 DOBRÉ VĚDĚT ................................................................................................................ 27 12.4 VÝSLEDKY ..................................................................................................................... 27 13 DODATKY....................................................................................................................... 27 13.1 VSTUPNÍ TEST ................................................................................................................ 27 13.1.1 Vstupní test – zadání .................................................................................. 27 13.1.2 Vstupní test – řešení ................................................................................... 28 14 SEZNAM POUŽITÉ LITERATURY ........................................................................... 29
4
FEKT Vysokého učení technického v Brně
Seznam obrázků OBR. 3.1: OBR. 3.2: OBR. 3.3: OBR. 4.1: OBR. 4.2: OBR. 5.1: OBR. 5.2: OBR. 5.3: OBR. 6.1: OBR. 7.1: OBR. 7.2: OBR. 8.1: OBR. 9.1: OBR. 9.2: OBR. 10.1: OBR. 11.1: OBR. 11.2: OBR. 11.3: OBR. 11.4: OBR. 12.1: OBR. 12.2:
DISKRÉTNÍ OBRAZ A ODPOVÍDAJÍCÍ HODNOTY JASOVÉ FUNKCE ........................... 6 SLOŽENÍ BAREVNÉHO OBRAZU ZE SPEKTRÁLNÍCH SLOŽEK R, G A B ................... 7 GALERIE VÝSLEDKŮ CVIČENÍ I. ........................................................................... 8 GALERIE VÝSLEDKŮ CVIČENÍ II. – MÍCHÁNÍ OBRAZŮ......................................... 10 GALERIE VÝSLEDKŮ CVIČENÍ II. – FILTRACE MASKOU ....................................... 10 PŘEVODNÍ CHARAKTERISTIKY BODOVÝCH JASOVÝCH TRANSFORMACÍ ............. 11 HISTOGRAM ORIGINÁLNÍHO A INVERZNÍHO OBRAZU ......................................... 12 EKVALIZACE HISTOGRAMU OBRAZU .................................................................. 12 PRAHOVÁNÍ S PEVNÝMI RELATIVNÍMI PRAHY RŮZNÝCH ÚROVNÍ....................... 13 ZNÁZORNĚNÍ MECHANISMU VÝPOČTU KONVOLUTORNÍ HODNOTY .................... 14 GALERIE VÝSLEDKŮ CVIČENÍ V. – ROZTAŽENÍ HISTOGRAMU A PRŮMĚROVÁNÍ . 15 GALERIE VÝSLEDKŮ CVIČENÍ VI. – APLIKACE FILTRŮ ....................................... 18 NEOPTIMALIZOVANÉ OPERACE ODSTRANĚNÍ ŠUMU Z OBRAZU .......................... 20 GALERIE VÝSLEDKŮ CVIČENÍ VII. – OSTŘENÍ A ŠUM V OBRAZE ......................... 20 GALERIE VÝSLEDKŮ CVIČENÍ VIII. – HRANOVÉ DETEKTORY ............................. 22 FILTRACE V PROSTOROVÉ A FREKVENČNÍ OBLASTI ........................................... 22 PŘÍKLAD AMPLITUDOVÉ FREKVENČNÍ CHARAKTERISTIKY ................................. 23 OBRAZ V PROSTOROVÉ A FREKVENČNÍ OBLASTI ................................................ 24 FILTRACE OBRAZU VE FREKVENČNÍ DOMÉNĚ .................................................... 25 OPERACE DILATACE .......................................................................................... 26 MORFOLOGICKÉ OPERACE ................................................................................. 27
1 Úvod Tento elektronický text je určen posluchačům kurzu „Počítačové vidění“ vypisovaného Skupinou počítačového vidění na Ústavu automatizace a měřicí techniky VUT v Brně. Text tematicky doplňuje stejnojmenné elektronické přednáškové texty a obsahuje kromě zadání úloh řešených na pravidelných počítačových cvičeních také teoretické minimum pro jejich úspěšné absolvování Karel Horák, +420541141–3647,
[email protected]
2 Zařazení předmětu ve studijním programu Předmět „Počítačové vidění“ je určen posluchačům čtvrtého ročníku magisterského studia oboru Elektrotechnika, elektronika, komunikační a řídicí technika. Má statut volitelného oborového předmětu hodnoceného šesti kredity. Předmět není vázán na žádný jiný volitelný kurz, pouze na předměty povinné. Vhodnou pre-rekvizitou jsou předměty Systémy, procesy a signály I. (UAMT), Praktické programování v jazyce C/C++ (UAMT) a všechny předměty vypisované Skupinou počítačového vidění na UAMT.
Počítačové vidění
5
2.1 Úvod do předmětu Počítačová cvičení kurzu si kladou za cíl seznámit studenty s praktickým řešením alespoň některých důležitých úloh počítačového vidění. Jednak jde o rozvinutí schopností úlohu počítačového vidění pochopit a následně řešit, za druhé ji řešit efektivně s použitím vhodného programovacího jazyka. Jako základ pro pochopení principů se v počítačových cvičeních kurzu pracuje v interpretu MatLab, který je vzhledem ke své vektorové a maticové orientaci vhodný jako názorný didaktický prostředek a je vhodný i jako prostředek pro optimalizaci výsledného funkčního kódu. Počítačová cvičení nejsou nutnou podmínkou pro splnění podmínek úspěšného zakončení kurzu, nicméně jsou vhodným a názorným doplňkem přednáškové části. Rozdělení kapitol elektronického textu je následující. První a druhá kapitola obsahují všeobecné informace o počítačových cvičeních předmětu. Druhá kapitola mimo jiné obsahuje i vstupní test, který odhalí případné teoretické nedostatky posluchače a upozorní tak na nutnost doučení látky. Jedná se zpravidla o znalosti v oboru teorie signálů, matematiky a optimalizace programování. Správnost výsledků tohoto vstupního testu si student může ověřit v předposlední kapitole. Od kapitoly třetí dále jsou uvedena jednotlivá zadání cvičení. Každé jedno cvičení obsahuje úvodní pasáž objasňující základní teoretické znalosti nutné pro smysluplné řešení úkolů cvičení. Po této teoretické stati následuje kapitola zadání úkolů, kapitola objasňující příkazy použité při jejich řešení a celé cvičení je uzavřeno kapitolou s obrazovými ukázkami pro kontrolu správnosti řešení. Každé cvičení je tedy rozděleno podle následujícího schématu: 1. Teoretický úvod 2. Úkoly 3. Dobré vědět 4. Výsledky Na konci elektronického textu jsou kromě dodatků a výsledků vstupního testu uvedeny také literární a internetové prameny doplňující teoretickou část cvičení. Obdobné prameny jsou použité jako základní literatura celého kurzu, tedy i přednáškové části. Jako apriorní znalosti pro splnění úkolů se předpokládají alespoň základní znalosti práce s vektory a maticemi v prostředí MatLab a znalosti ověřené ve vstupním testu. Všechny příkazy potřebné ke splnění úkolu jsou vždy uvedeny ve třetí podkapitole „Dobré vědět“. Příkazy, které již byly v některém z předchozích cvičení použity, nejsou v následujících cvičeních znovu uváděny. Pokud není některý z příkazů nebo jeho parametrů dostatečně vysvětlen, lze vyvolat zpravidla vyčerpávající nápovědu přímo z povelového řádku MatLabu voláním „help příkaz“. Dosažené výsledky každého cvičení lze vykreslit do grafické podoby a zkontrolovat se správnými výsledky (zpravidla obrazy) uvedenými vždy na konci cvičení v podkapitole „Výsledky“.
2.2 Vstupní test Vstupní test je určen k vyhodnocení samotným studentem a jeho účelem je ověření předchozích znalostí studenta, potřebných k úspěšnému zvládnutí předkládaného výukového textu. Výsledky vstupního testu jsou uvedeny v dodatku v závěru tohoto textu.
6
FEKT Vysokého učení technického v Brně
1. Jak lze charakterizovat diskrétní obraz z hlediska teorie signálu? 2. Co o diskrétním signálu vypovídá charakteristika nazývaná četnost popř. histogram? 3. Co se rozumí filtrací obrazového signálu v prostorové a co ve frekvenční oblasti? 4. Jak lze z hlediska rychlosti optimalizovat kód zpracovávající dvourozměrný signál? 5. K čemu se používá Fouriérova transformace? 6. Co je to topologie objektu?
3 Cvičení I. – Diskrétní obraz 3.1 Teoretický úvod Obraz jako dvourozměrná diskrétní veličina je v počítači reprezentován maticí řádu 2. Řádky a sloupce matice určují samotnou obrazovou rovinu, prvky matice pak jasové hodnoty v příslušném obrazovém bodě (pixel). Pokud jde o šedo-tónový obraz (někdy nesprávně označovaný jako černobílý), jsou jednotlivé prvky matice tvořeny skalárem udávající hodnotu intenzity jasové funkce. Takový šedo-tónový obraz je zpravidla uložen v paměti počítače ve 256 stupních šedi, čili v osmibitové barevné hloubce (užívá se označení barevná hloubka, i když jde o šedo-tónový obraz). Na každý obrazový bod je tedy zapotřebí 1 Byte paměti. Reprezentaci matice dat při zpracování diskrétního šedo-tónového obrazu o rozměru 8x8 pixelů ukazuje následující obrázek.
Obr. 3.1: Diskrétní obraz a odpovídající hodnoty jasové funkce
V případě barevného obrazu je takováto matice definována zvlášť pro každou základní barevnou složku (červená, zelená a modrá). Tyto matice určují intenzity jednotlivých spektrálních složek v příslušných místech obrazu a teprve jejich aditivním složením vznikne dojem barevného obrazu. Graficky lze tento proces vyjádřit jako překrytí tří obrazů za použití metriky prostého součtu prvků. Vznik barevného obrazu ze tří matic základních spektrálních složek ukazuje následující obrázek.
Počítačové vidění
7
Obr. 3.2: Složení barevného obrazu ze spektrálních složek R, G a B
Třetí a poslední typ obrazu z hlediska barevné hloubky je binární obraz. Prvky matice jsou pouze 0 resp. 1 a reprezentují černou resp. bílou barvu. Bitová hloubka u těchto obrazů je tedy vždy rovna jedné. Binární obrazy se zpravidla používají pro definici obrazových masek. Prostým násobením prvků obrazu a masky téže velikosti lze filtrovat odpovídající části obrazu.
3.2 Úkoly 1. Vytvořte matici představující obrazovou rovinu šedo-tónového obrazu o rozměrech 640x480 bodů s nulovými prvky. 2. Sestavte blok programu, který postupně projde všechny body obrazu. Nejprve řešte klasickým způsobem pro práci s dvourozměrným polem hodnot, poté optimalizujte použitím vektorových a maticových operací MatLabu. 3. Vygenerujte šedo-tónový obraz s uvedenými rozměry a libovolnými prvky v obraze (např. nuly a překrývající se obdélníky o různých hodnotách). 4. Obdobně jako v předchozím případě vygenerujte barevný obraz složením tří šedotónových obrazů představující složky červené, zelené a modré barvy. Obrazy navrhněte tak, aby ve výsledném barevném obraze vznikly všechny kombinace tří základních barev. Vykreslete všechny tři složkové obrazy a obraz barevný do jednoho okna současně. 5. Načtěte libovolný obraz z disku, proveďte nulování jeho prostřední třetiny a opět jej uložte na disk.
3.3 Dobré vědět Základní příkazy pro všeobecnou práci: help příkaz, demo, exit, who, whos, clear proměnná, clear all, close okno, close all
Základní příkazy pro práci s maticemi: ones, zeros, A = [1 10 5; 1 12 7; 2 15 10], B = A’, C = A.*B, size
8
FEKT Vysokého učení technického v Brně
Základní příkazy pro práci s obrazem: imread, imwrite, imshow, image, figure, colormap, title
Datové typy pro obrazy: Pro vykreslení obrazu je vhodný datový typ uint8 (rozsah 0 .. 255). Pozor! Pro práci s prvky matice je zpravidla nutné přetypovat na vyšší datový typ (int16, uint16, double, …), jinak hrozí přetečení hodnoty při součtu a násobení nebo podtečení při odečítání. Naopak neustálé používání rozsahově vyššího datového typu např. double není vhodné z hlediska rychlosti zpracování a z hlediska správného vykreslení jasových úrovní.
3.4 Výsledky
Obr. 3.3: Galerie výsledků cvičení I.
4 Cvičení II. – Aritmetické operace 4.1 Teoretický úvod Obdobně jako u skalárních veličin jsou i u vektorových a maticových definovány mimo jiné i elementární aritmetické operace jako součet, rozdíl, násobení a dělení. Vzhledem k tomu, že v předchozím cvičení bylo ukázáno, že na libovolný diskrétní obraz lze pohlížet jako na matici konečných hodnot, je patrné, že tyto elementární operace jsou definovány i pro obrazy. Pokud se jedná o šedo-tónový obraz, provádí se aritmetické operace přímo s prvky matic a ukládají se do výstupního pole. Pokud jde o barevné obrazy, pak se operace provádí pro každou barevnou složku zvlášť a zvlášť se také ukládá do výstupního obrazu. Pokud je třeba provést aritmetickou operaci nad jedním barevným a jedním šedo-tónovým obrazem, má situace tři řešení. Za prvé je možné provést aritmetickou operaci nad šedo-tónovým obrazem a jednou zvolenou složkou barevného obrazu a zbylé dvě ponechat nezměněné. Za druhé lze tentýž postup aplikovat na všechny tři složky barevného obrazu s třetinovou vahou prvků šedo-tónového obrazu, anebo za třetí lze barevný obraz převést na černobílý podle vzorce (4.1). Vzhledem k různé citlivosti lidského oka na různé spektrální složky nejsou jednotlivé koeficienty Ci rovny jedné třetině, ale empiricky zjištěným hodnotám CR=0.299, CG=0.587, CB=0.114. G ( x, y ) = C R ⋅ R ( x, y ) + C G ⋅ G ( x, y ) + C B ⋅ B ( x, y )
( 4.1 )
Počítačové vidění
9
Aritmetické operace lze aplikovat jak na šedo-tónové, barevné tak i binární obrazy. Nejedná se ovšem o binární operace s obrazy, ale o aritmetické operace s binárními obrazy. Binární obrazy se zpravidla vyskytují jako masky aplikované na jiný, šedo-tónový nebo barevný obraz.
4.2 Úkoly 1. Pomocí kódu z minulého cvičení pro přístup ke každému pixelu obrazu proveďte se dvěma libovolnými obrazy a jedním obrazem a konstantou následující operace: součet obrazů
R(i,j)=P1(i,j)+P2(i,j) a R(i,j)=P1(i,j)+C
rozdíl obrazů
R(i,j)=P1(i,j)-P2(i,j) a R(i,j)=P1(i,j)-C
součin obrazů
R(i,j)=P1(i,j)*P2(i,j) a R(i,j)=P1(i,j)*C
dělení obrazů
R(i,j)=P1(i,j)/P2(i,j) a R(i,j)=P1(i,j)/C
míchání obrazů R(i,j)=X*P1(i,j)+(1-X)*P2(i,j) a R(i,j)=X*P1(i,j)+(1-X)*C
2. Pro libovolný barevný obraz proveďte konverzi na šedo-tónový s různými koeficienty jednotlivých spektrálních složek a s koeficienty uvedenými v textu nad vztahem (4.1). 3. Vygenerujte dva syntetické obrazy – masky – o rozměrech libovolného používaného obrazu. První maska bude obsahovat nulové prvky kromě prostřední třetiny, kde budou prvky nabývat hodnoty 1. Druhá maska bude představovat šachovnici, kde černá pole budou mít hodnotu 0 a bílá pole hodnotu 1. Rozměr jednoho políčka zvolte tak, aby byla celá maska rozdělena na 8x8 políček. 4. Pro obě vygenerované masky v kombinaci s jedním z šedo-tónových obrazů proveďte operaci násobení – prostorovou filtraci obrazu.
4.3 Dobré vědět Všechny operace prvního bodu lze provést pro saturované (255+1⇒255 ; 0-1⇒0) a přetékající (255+1⇒0 ; 0-1⇒255) mezní hodnoty. Operace nad obrazem a konstantou jsou identické operaci nad dvěma obrazy, z nichž jeden je ve všech svých bodech konstantní. U rozdílu a dělení sledujte rozdílné výsledky při záměně operandů (obrazů nebo obrazu a konstanty). Pro zobrazení obrazu masky je nutné před vykreslením prvky matice násobit hodnotou 255, obdobně jako pole typu double přetypovat na typ uint8. Příkazy: im2bw, imcomplement
10
FEKT Vysokého učení technického v Brně
4.4 Výsledky
Obr. 4.1: Galerie výsledků cvičení II. – míchání obrazů
Obr. 4.2: Galerie výsledků cvičení II. – filtrace maskou
5 Cvičení III. – Bodové jasové transformace 5.1 Teoretický úvod Bodové jasové transformace obrazu jsou takové transformace, u kterých je hodnota výstupního obrazového bodu s danými souřadnicemi závislá pouze na obrazovém bodu se stejnými souřadnicemi ve vstupním obrazu. Pro realizaci takových transformací je někdy potřebné získat informace o celkovém rozložení jasu v obrazu (např. pro zjištění hodnoty prahování). O rozložení jasu v obraze vypovídá nejlépe charakteristika, které se říká histogram obrazu (v matematice odpovídá četnosti prvku ve třídě). Jde o závislost počtu výskytů určité jasové úrovně na těchto úrovních. Horizontální osu histogramu mohou tedy tvořit v případě šedo-tónového obrazu s bitovou barevnou hloubkou 8 hodnoty 0 až 255. Vertikální osu pak počty těchto úrovní v obraze. Je zřejmé, že histogram čistě bílého, černého nebo jinak šedého homogenního obrazu bude tvořen pouze jednou svislou čarou v příslušném místě histogramu. Její výška bude odpovídat celkovému počtu bodů obrazu. Sestavením převodních tabulek nebo lépe grafů udávajících závislost jasových hodnot výstupního obrazu na jasových hodnotách obrazu vstupního lze provést některé ze základních
Počítačové vidění
11
úprav obrazu jako např.: inverze, okénková úprava jasu, prahování, úprava jasu nebo kontrastu, redukce barev a gama korekce. Na následujícím obrázku jsou graficky znázorněny převodní charakteristiky uvedených operací.
Obr. 5.1: Převodní charakteristiky bodových jasových transformací Mezi často používané jasové transformace patří také roztažení a vyrovnání (někdy ekvalizace) histogramu. Roztažení histogramu je jednoduchá operace, kdy je rozsah reálného histogramu normován na celý rozsah jasových hodnot. Naproti tomu při vyrovnání histogramu jde o složitější transformaci jasových hodnot. V první řadě je třeba vypočítat kumulativní histogram, jehož prvek n je dán součtem jeho prvku n-1 a prvku n původního histogramu. Následně je třeba vytvořit transformační funkci normováním kumulativního histogramu na rozsah jasových hodnot odpovídající obrazu např. 256. Posledním krokem je samotná transformace jasových úrovní podle nalezené funkce. Důležité podotknou, že tato transformace je obecně nelineární.
5.2 Úkoly 1. Proveďte na jednom libovolném šedo-tónovém a jednom barevném obraze operace inverze, okénkové funkce a úpravy jasu a kontrastu. 2. Pro každý takto získaný obraz vypočítejte histogram a porovnejte s histogramem původního obrazu. 3. U obrazu s histogramem neobsahující některé jasové úrovně na spodní a horní hranici rozsahu proveďte jeho roztažení a vyrovnání.
5.3 Dobré vědět Roztažením nebo vyrovnáním histogramu se samotný obraz nezmění, pouze se získá charakteristika, podle které je teprve nutné upravit jasové úrovně všech bodů obrazu.
12
FEKT Vysokého učení technického v Brně
5.4 Výsledky
Obr. 5.2: Histogram originálního a inverzního obrazu
Obr. 5.3: Ekvalizace histogramu obrazu
6 Cvičení IV. – Segmentace prahováním 6.1 Teoretický úvod Separaci objektů od obrazového pozadí se říká segmentace. Jednou z možných a současně velmi jednoduchých metod segmentace je prahování. Jde o jasové oddělení objektů a pozadí. Nejtriviálnějším způsobem takové segmentace je prahování s jedním pevným prahem, čímž vzniká dvojbarevný obraz. Mechanismus prahování lze postupně zdokonalovat zvyšováním počtu prahů (prahování do několika tříd) nebo/a dynamickým stanovováním hodnot prahů podle aktuálních charakteristik obrazu. Takto stanovený práh se nazývá jasově
Počítačové vidění
13
adaptivní a může být vypočten např. jako průměr indexů dvou největších maxim histogramu (předpokládá se, že jedno maximum odpovídá jasovým složkám podkladu a druhé jasovým složkám objektů). Často se pro stanovení hodnoty prahu používají složité výpočty navíc vázané jen na určitou část obrazu (prostorově adaptivní práh).
6.2 Úkoly 1. Naprogramujte kód pro prahování libovolného obrazu s jedním a dvěma pevnými prahy. 2. Naprogramujte jasově adaptivní prahování s jedním prahem na libovolném obraze tak, aby na výsledném obraze byly odděleny objekty s jasově vyšší úrovní od jasově tmavějšího podkladu. 3. Obdobně jako v předchozím bodě stanovte adaptivní práh z hlediska prostorového rozložení, čili počítejte jasově adaptivní práh vždy jen pro určitou oblast obrazu a pro další oblast jej stanovte znovu.
6.3 Dobré vědět Vyzkoušejte různé metody stanovení jasového adaptivního prahu: průměr dvou největších maxim histogramu, vážený průměr dvou maxim s přikloněním k maximu charakterizující objekty v obraze apod. Prostředí MatLab pracuje s relativními prahy v rozsahu 0.0 až 1.0, které odpovídají u šedo-tónového obrazu se 256 úrovněmi hodnotám 0 a 255. Práh 0.70 tedy odpovídá jasové hodnotě 179. Příkazy: graythresh, max, median, mean
6.4 Výsledky
Obr. 6.1: Prahování s pevnými relativními prahy různých úrovní
14
FEKT Vysokého učení technického v Brně
7 Cvičení V. – Diskrétní konvoluce 7.1 Teoretický úvod Vzhledem k tomu, že konvoluce je důležitou operací v teorii signálů, a že obraz sám je dvourozměrný diskrétní signál, používá se konvoluce v souvislosti se zpracováním obrazu velmi často. Kromě toho, že konvoluce je jádrem téměř všech pokročilejších transformací obrazu je rovněž nedílnou součástí některých základních metod jako např. detekce hran, kde se jako konvolutorní jádro používá některý ze známých hranových detektorů. Vztah konvoluce pro dvourozměrný obraz lze vyjádřit následujícím vztahem, v němž symbol g(x,y) značí výstupní obraz, f(x,y) vstupní obraz a h(x,y) konvoluční jádro o rozměrech RxS.
g ( x, y ) = f ( x , y ) ∗ h ( x , y ) =
x+S / 2
y+R / 2
∑ ∑ f (i, j ) ⋅ h( x − i, y − j )
( 7.1 )
i= x−S / 2 j= y−R / 2
Graficky si lze konvoluci dvou signálů (zpravidla obrazu a masky) představit jako postupné prostorové posouvání převrácené masky (konvolučního jádra) po obrazu. Pro každou vzájemnou polohu obrazu a masky je vypočítán součet hodnot pixelů vážených příslušnými koeficienty masky a tento součet určuje výstupní hodnotu signálu (obrazu) v daném bodě. Ilustrativně je tento postup zachycen na obrázku.
Obr. 7.1: Znázornění mechanismu výpočtu konvolutorní hodnoty
Počítačové vidění
15
7.2 Úkoly 1. Vytvořte funkci realizující konvoluci dvou matic. Vstupem je originální obraz a konvoluční jádro, výstupem je obraz vzniklý konvolucí vstupního obrazu a jádra. Funkci implementujte pro obecný rozměr jádra RxS podle definičního vzorce (bez použití interní funkce). 2. Pomocí vytvořené funkce pro konvoluci dvou matic navrhněte masku (jádro) pro tyto výpočty: posunutí obrazu o pět pixelů vpravo s ořezáním roztažení histogramu obrazu o 30 % se saturací inverze obrazu průměrování maskou velikosti 5x5, 9x9 a 13x13 (zjistěte časovou náročnost všech tří výpočtů a odhadněte závislost časové náročnosti na velikosti masky – použijte funkce pro přesné měření času).
7.3 Dobré vědět Pro konvolutorní výpočty je důležité si uvědomit mechanismus výpočtu výsledné hodnoty. Jedná se o součet součinů, čili ve funkci se objevují pouze a jen aditivní a multiplikativní složky. Pomocí konvoluce např. nelze na obraz aplikovat přičtení konstanty. Příkazy: conv2, filter2, tic, toc, clock, etime
7.4 Výsledky
Obr. 7.2: Galerie výsledků cvičení V. – roztažení histogramu a průměrování
16
FEKT Vysokého učení technického v Brně
8 Cvičení VI. – Detekce hran 8.1 Teoretický úvod Hrany jsou místa v obraze, kde dochází ke skokovým změnám obrazové funkce. Nalezení hran v obraze patří mezi základní operace zpracování obrazu. Pro jejich nalezení se používá výpočtu konvoluce nad obrazem v kombinaci s různými konvolučními jádry. Tato jádra se z hlediska detekce hran nazývají hranové detektory. Každý z detektorů má své výhody a nevýhody, univerzálně vhodný detektor neexistuje. Následující vzorce ukazují některé základní gradientní detektory. Popořadě jde o detektor Robertsův, Prewittové, Sobelův, Robinsonův, Kirschův, Laplaceův ve čtyř-okolí a Laplaceův v osmi-okolí. 1 0 R= 0 − 1
( 8.1 )
1 0 − 1 P = 1 0 − 1 1 0 − 1
( 8.2 )
1 0 − 1 S = 2 0 − 2 1 0 − 1
( 8.3 )
1 1 − 1 Ro = 1 − 2 − 1 1 1 − 1
( 8.4 )
3 3 − 5 K = 3 0 − 5 3 3 − 5
( 8.5 )
0 1 0 L4 = 1 − 4 1 0 1 0
( 8.6 )
1 1 1 L8 = 1 − 8 1 1 1 1
( 8.7 )
Tato skupina hranových detektorů aproximuje derivace obrazové funkce diferencemi vzniklými diskrétní konvolucí. Prvních pět uvedených operátorů aproximuje první derivace obrazové funkce, Laplaceův operátor pro čtyř-okolí i osmi-okolí aproximuje druhou derivaci. Existují ještě hranové detektory nazývané souhrnně „zero-crossing“, které hledají hrany
Počítačové vidění
17
v místě, kde druhá derivace prochází nulou např. operátor „Marra a Hildrethové“. Využívají skutečnosti, že je jednodušší vyhledávat průchody signálu nulou, než jeho maxima.
8.2 Úkoly 1. Pomocí funkce vytvořené v minulém cvičení pro konvoluci dvou matic navrhněte konvoluční masku (jádro) pro výpočet velikosti hran v horizontálním a vertikálním směru a masce o rozměru 3x3. 2. Nalezněte v obraze hrany konvolucí obrazu a těchto hranových operátorů: Robertsův, Prewittové, Sobelův, Robinsonův, Kirschův a Laplaceův. 3. Vyzkoušejte tvorbu filtrů (konvolučních jader) různých velikostí a parametrů pomocí knihovní funkce fspecial. 4. Filtry vytvořené podle předchozího bodu aplikujte na obraz pomocí konvoluční funkce vytvořené v minulém cvičení a pomocí knihovních funkcí conv2 a imfilter. 5. Nalezněte v obraze hrany pomocí knihovní funkce edge s použitím metod LaplaceGauss, Canny a Zero-cross.
8.3 Dobré vědět Příkazy: fspecial, imfilter, edge
U funkce edge pozorujte vliv parametrů thresh, sigma, horizontal, vertical a both na výsledek operace hledání hran.
18
FEKT Vysokého učení technického v Brně
8.4 Výsledky
Obr. 8.1: Galerie výsledků cvičení VI. – aplikace filtrů
9 Cvičení VII. – Redukce šumu a ostření obrazu 9.1 Teoretický úvod V každém nesyntetickém obraze se vyskytuje šum. Může se jednat o šum s Gaussovým rozložením, o šum typu sůl a pepř, aditivní, multiplikativní, bílý šum atd. Mezi techniky pro potlačení šumu patří tzv. vyhlazování obrazu. Jednou možností vyhlazení obrazu je prosté průměrování. Při této metodě zaniká šum o velikosti zvoleného okolí průměrování. Toto okolí by mělo být voleno tak, aby nebyly filtrovány také malé detaily v obrazu. Negativní vlastností této filtrace je, že rozmazává ostré hrany. Konvoluční maska pro obyčejné průměrování a pro průměrování se zvýrazněným středem může vypadat tak, jak ukazují následující vztahy.
1 1 1 1 m = 1 1 1 9 1 1 1
( 9.1 )
Počítačové vidění
1 1 1 1 m = 1 2 1 10 1 1 1
19
( 9.2 )
Další možností redukce šumu v obraze je vyhlazování mediánem. Jako filtrovaná hodnota je zvolena hodnota ležící uprostřed seřazené posloupnosti okolních hodnot filtrovaného bodu. Nevýhodou mediánové filtrace je porušování tenkých čar. Poslední možností je filtrace rotující maskou. V tomto případě je maska rotována kolem filtrovaného bodu a pro každou pozici masky je spočítána míra homogenity (např. součet diferencí). Filtrace se pak provádí jen pro jednu polohu masky, kdy je míra homogenity nejvyšší. Takto je nalezeno nejbližší okolí, které k bodu pravděpodobně patří. Filtrace rotující maskou tedy částečně řeší problémy s rozmazáváním a porušováním tenkých čar a ostrých rohů. Ostření obrazu má za cíl zvýraznit všechny hrany vyskytující se v obraze. Používá obdobně jako hranové detektory aproximaci první derivace a definiční vztah pro úpravu ostrosti obrazu lze napsat takto: g ( x, y ) = f ( x, y ) − C ⋅ S (i, j )
( 9.3 )
Symbol C představuje míru ostření a symbol S(i,j) strmost obrazové funkce v okolí vyšetřovaného bodu. Operaci ostření lze provést také pomocí konvoluce s jádrem podobným Laplaceově hranovému detektoru, jen s opačnými znaménky. Filtr vždy musí zvýraznit hodnotu aktuálního pixelu a potlačit hodnoty pixelů okolních, do jaké míry je to provedeno, určuje koeficient C.
9.2 Úkoly 1. Napište kód realizující filtr pro redukci šumu v obraze metodou průměrování a metodou mediánu. Filtr realizujte pro velikosti 3x3, 5x5 a 7x7. 2. Porovnejte rychlost třídění obou dvou algoritmů pro všechny tři velikost třídícího pole (použijte funkce pro přesné měření času). 3. Seznamte se s knihovní funkcí imnoise, která přidává do obrazu šum a na reálném obrazu srovnejte všech pět implementovaných typů (Gaussovský šum, bílý šum, poisson šum, šum sůl a pepř a multiplikativní šum). Na vzniklý obraz aplikujte některý z filtrů pro odstranění šumu z prvního bodu cvičení. 4. Pomocí funkce konvoluce z předchozích cvičení navrhněte a aplikujte na obrazová data filtr pro ostření obrazu o velikosti 3x3, 5x5 a 7x7.
9.3 Dobré vědět Pro porovnání výsledku algoritmu použijte vhodné parametry funkce fspecial např. unsharp.
20
FEKT Vysokého učení technického v Brně
Pamatujte, že součet koeficientů konvolučního jádra pro ostření obrazu se musí stejně jako v případě hranových detektorů vždy rovnat nule. Příkazy: clock, etime, imnoise, fspecial, imfilter
9.4 Výsledky
Obr. 9.1: Neoptimalizované operace odstranění šumu z obrazu
Obr. 9.2: Galerie výsledků cvičení VII. – ostření a šum v obraze
10 Cvičení VIII. – Návrh hranového filtru 10.1 Teoretický úvod Jak bylo uvedeno v minulých cvičeních, patří detekce hran mezi základní operace s obrazem. Obdobně bylo ukázáno, že každý obraz obsahuje určitou míru šumu. Samotné detektory hran jsou ale citlivé na libovolnou skokovou změnu jasové funkce obrazu, tedy i na změny způsobené šumem. Nalezené hrany jsou pak falešné. Aby se tomuto jevu zabránilo a byly detekovány jen skutečné hrany, je třeba obraz před samotnou hranovou filtrací vhodně upravit. K tomu může sloužit např. eliminace šumu tzv. Gaussovým filtrem. Samotná filtrace probíhá stejně jako filtrace např. průměrováním, čili lze opět použít diskrétní konvoluci. Rozměry filtru záleží na konkrétním obrazu a lze je volit téměř neomezeně (zpravidla se však
Počítačové vidění
21
používá jedno nebo dvou pixelové okolí). Výpočet hodnot filtru se provádí na základě vztahu pro dvourozměrné Gaussovo (normální) rozložení:
G ( x, y ) =
1 2πσ
2
⋅e
−
x2 + y2 2σ 2
( 10.1 )
Následně je na filtrovaný obraz aplikován některý z hranových filtrů. Výsledkem je obraz, který obsahuje všechny hrany v původním obraze, dokonce i ty nejmenší. Proto je třeba zabývat se kvalitou hrany a výsledek případně ještě vyprahovat. V některých případech se k tomu účelu používá prahování s hysterezí. Pracuje tak, že jsou předem stanoveny dva prahy – vyšší (TH) a nižší (TL). Hodnoty hran vyšší, než práh TH jsou ihned uznány jako hrany, hodnoty pod prahem TL nejsou uznány. Hrany, jejichž úroveň leží v intervalu
jsou uznány pouze tehdy, pokud již dříve byl uznán jako hrana některý z okolních bodů. Tento uvedený postup používá Cannyho hranový filtr.
10.2 Úkoly 1. Napište funkci pro generování konvoluční masky odpovídající Gaussově normálnímu rozložení se středem uprostřed masky. 2. Aplikujte masky různých rozměrů na libovolný šedo-tónový obraz pro potlačení šumu. 3. Navrhněte hranový detektor pro detekci lokálních maxim ve filtrovaném obraze a použijte jej na filtrovaný obraz. 4. Na obraze s detekovanými hranami proveďte prahování s hysterezí, jak bylo popsáno výše. Stanovení mezí TL a TH volte tak, aby horní práh segmentoval pouze významné kontury objektů a dolní práh je významně doplnil.
10.3 Dobré vědět Vypočítanou masku je třeba normovat tak, aby součet všech jejích prvků byl roven jedné, stejně jako všech ostatních vyhlazovacích masek. Součet koeficientů hranového detektoru je roven nule, ten se ovšem nepočítá, ale volí z možností uvedených ve cvičení VI. kapitoly 8.
22
FEKT Vysokého učení technického v Brně
10.4 Výsledky
Obr. 10.1: Galerie výsledků cvičení VIII. – hranové detektory
11 Cvičení IX. – Filtrace obrazu v kmitočtové oblasti 11.1 Teoretický úvod Z předešlých cvičení je patrné, že filtrace obecně je pro zpracování obrazu důležitá v mnoha případech např. pro odstranění šumu nebo pro segmentaci pomocí nalezení hran v obraze. Filtraci lze provádět v oblasti prostorové nebo frekvenční, v obou případech buďto na celém obraze nebo třeba jen nad výřezem. Pojem „prostorová oblast“ je zde použit jako 2D ekvivalent pojmu „časová oblast“ pro jednorozměrný signál. Pro analýzu obrazu ve frekvenční oblasti je nutné obraz nejdříve transformovat do cílové domény a po analýze a případných úpravách zase zpět do prostorové jak je patrné z následujícího obrázku.
Obr. 11.1: Filtrace v prostorové a frekvenční oblasti K tomuto převodu se používají různé lineární integrální transformace. Nejpoužívanější a pravděpodobně posluchačům i nejznámější z nich je Fouriérova transformace. Fouriérova transformace je matematický převod originálního signálu na jeho frekvenční spektrum tzv. Fourierův obraz nebo jen obraz (pozn.: vzhledem k zavedené terminologii pojmu „obraz“ pro
Počítačové vidění
23
originální 2D signál bude pro Fourierův obraz ve frekvenční rovině vždy používán termín „frekvenční spektrum obrazu“). Pro analýzu diskrétního obrazu se používá diskrétní Fouriérova transformace (DFT), jejíž definiční vztah pro 2D signál je dán vzorcem (11.1). R −1 S −1 − 2πj ⋅ x ⋅ u − 2πj ⋅ y ⋅ v F (u, v) = ∑∑ f ( x, y ) ⋅ exp + S R y =0 x =0
( 11.1 )
v němž F (u, v) je frekvenční spektrum obrazu s frekvenčními souřadnicemi (u, v). Symboly S, R udávají rozměry obrazu, symbol f (x, y) pak samotnou obrazovou funkci. Frekvenční souřadnice (u, v) nabývají hodnot od nuly do (S, R). Frekvenční spektrum obsahuje komplexní čísla, proto se pro zpracování obrazového signálu ve frekvenční oblasti používají amplitudy komplexních čísel (amplitudová frekvenční charakteristika) nebo výkonová spektrální hustota (koeficienty násobené komplexně sdruženým číslem). Příklad grafického znázornění amplitudové charakteristiky jednoduchého syntetického dvourozměrného signálu je uveden na následujícím obrázku.
Obr. 11.2: Příklad amplitudové frekvenční charakteristiky Tato frekvenční charakteristika obsahuje koeficienty odpovídající různým frekvenčním složkám analogicky jako u jednorozměrných signálů. Analýzou a operacemi s koeficienty ve frekvenční oblasti lze modifikovat obraz v prostorové oblasti (např. realizovat filtr typu dolní propust pro vyhlazení obrazu). Pro získání modifikovaného obrazu je třeba převést koeficienty zpět do prostorové oblasti. Tomuto procesu se říká zpětná nebo někdy inverzní Fouriérova transformace IFT, jejíž diskrétní varianta IDFT je dána definičním vztahem (11.2).
f ( x, y ) =
1 R −1 S −1 2πj ⋅ x ⋅ u 2πj ⋅ y ⋅ v ⋅ ∑∑ F (u , v) ⋅ exp + R ⋅ S v =0 u = 0 S R
( 11.2 )
Člen 1/(R*S) se někdy vyskytuje ve vzorci (11.1) pro přímou DFT místo (11.2) pro zpětnou DFT. Méně často se pak vyskytuje v obou vzorcích současně odmocnina tohoto členu. Na způsob zpracování koeficientů to ale nemá žádný vliv, pokud do výpočtů zahrneme jejich vážení touto konstantou.
24
FEKT Vysokého učení technického v Brně
11.2 Úkoly 1. Podle definičních vzorců sestavte program pro výpočet přímé a zpětné DFT bez použití implementovaných knihoven. Programový kód se pokuste optimalizovat. 2. Vygenerujte konstantní šedo-tónový obraz o rozměrech 256x256 bodů a úrovni 128. Proveďte DFT a IDFT a zobrazte originální obraz, frekvenční spektrum a rekonstruovaný obraz. 3. Do vygenerovaného obrazu zaneste v úrovních šedé libovolnou grafickou entitu a proveďte předchozí bod znovu, komentujte rozdílné výsledky. 4. Na libovolném obrazu reálné scény (čili ne na synteticky generovaném obraze) proveďte filtraci šumu a detekci hran pomocí DFT a IFFT a přehledně zobrazte výsledky.
11.3 Dobré vědět Pro zpětný převod do prostorové oblasti je třeba uvažovat koeficienty opět jako komplexní čísla, i když se pro analýzu a modifikaci koeficientů ve frekvenční rovině používala jen např. absolutní hodnota čísla. Příkazy: fft2, ifft2, fftshitf
11.4 Výsledky
Obr. 11.3: Obraz v prostorové a frekvenční oblasti
Počítačové vidění
25
Obr. 11.4: Filtrace obrazu ve frekvenční doméně
12 Cvičení X. – Morfologické operace 12.1 Teoretický úvod Matematická morfologie vychází z vlastností bodových množin. Nečastěji se aplikuje na binární obrazy, ale lze ji zobecnit i na obrazy s více úrovněmi šedi. Morfologické operace se používají pro předzpracování (odstranění šumu, zjednodušení tvaru objektů), zdůraznění struktury objektů (kostra, ztenčování, zesilování, konvexní obal, označování objektů) a pro popis objektů číselnými charakteristikami (plocha, obvod, projekce, atd.). Morfologické transformace jsou realizovány jako relace obrazu (bodové množiny X) s jinou menší bodovou množinou B, tzv. strukturním elementem. Morfologickou transformaci si lze představit jako určitý systematický pohyb strukturního elementu po obraze. Mezi základní morfologické operace patří dilatace. Dilatace skládá body dvou množin pomocí vektorového součtu. Objekty v obraze jsou po aplikaci dilatace zvětšené o jednu „slupku“ na úkor pozadí. Dilatace se používá k zaplnění děr popř. zálivů, její definiční vztah je uveden v následujícím vzorci. X ⊕ B = {d ∈ E 2 : d = x + b, x ∈ X , b ∈ B}
X ⊕ B = U Xb b∈B
( 12.1 )
Obrázek 12.1 graficky znázorňuje výsledek operace dilatace (vpravo) vzniklý z původního obrazu (vlevo) pohybem strukturního elementu (uprostřed).
26
FEKT Vysokého učení technického v Brně
Obr. 12.1: Operace dilatace Druhou základní morfologickou operací je eroze. Eroze skládá dvě bodové množiny s využitím rozdílu vektorů. Je duální (nikoliv inverzní) transformací k dilataci a používá se pro zjednodušení struktury objektů. Objekty tloušťky „jedna“ (relativní jednotka) zmizí (tj. potlačení šumu), složité objekty spojené čárami tloušťky „jedna“ se rozloží na několik jednodušších objektů. Eroze je dána vztahem: X Θ B = {d ∈ E 2 : d + b ∈ X pro ∀ b ∈ B}
X Θ B = I X −b b∈B
( 12.2 )
Obrysy objektů můžeme jednoduše a rychle najít odečtením erodovaného obrazu od originálu. Morfologické operace otevření a uzavření jsou operace, které vzniknou kombinací elementárních operací dilatace a eroze. Výsledkem obou je zjednodušený obraz, který obsahuje méně detailů (odstraní detaily menší, než strukturní element, celkový tvar objektu se ale neporuší). Eroze následovaná dilatací je otevřením a zapisuje se X o B . Oddělí objekty spojené úzkou šíjí a tak zjednoduší strukturu objektů. Dilatace následovaná erozí je uzavřením a zapisuje se X • B . Spojí objekty, které jsou blízko u sebe, zaplní díry a vyhladí obrys. Definiční vztahy logicky vyplývají z uvedeného a jsou dány následujícími dvěma vzorci.
X o B = (X Θ B) ⊕ B
( 12.3 )
X • B = ( X ⊕ B ) ΘB
( 12.4 )
12.2 Úkoly 1. Vytvořte blok programu řešící dilataci binárního obrazu strukturním elementem stejným jako na obrázku v teoretické části.
Počítačové vidění
27
2. Vygenerujte uvedený strukturní element pomocí knihovní funkce strel. Pomocí knihovní funkce imdilate ověřte správnost výsledků předchozího bodu. 3. Aplikujte na jeden libovolný obraz několikrát operaci eroze imerode a najděte různě široké obrysy objektů. 4. Proveďte operaci otevření jako erozi následovanou dilatací a poté také pomocí funkce imopen. Porovnejte výsledek těchto operací s výsledkem operace uzavření.
12.3 Dobré vědět Je třeba vhodně zvolit obraz pro zkoušení – jedno zda syntetický nebo reálný. Obraz by měl obsahovat hodně strukturních oblastí, tenké čáry a objekty s tenkými zálivy. Příkazy: strel, imdilate, imerode, imopen, imclose, imfill
12.4 Výsledky
Obr. 12.2: Morfologické operace
13 Dodatky 13.1 Vstupní test 13.1.1 Vstupní test – zadání 1. Jak lze charakterizovat diskrétní obraz z hlediska teorie signálu?
28
FEKT Vysokého učení technického v Brně 2. Co o diskrétním signálu vypovídá charakteristika nazývaná četnost popř. histogram? 3. Co se rozumí filtrací obrazového signálu v prostorové a co ve frekvenční oblasti? 4. Jak lze z hlediska rychlosti optimalizovat kód zpracovávající dvourozměrný signál? 5. K čemu se používá Fouriérova transformace? 6. Co je to topologie objektu?
13.1.2 Vstupní test – řešení 1. Obraz je převeden z analogové podoby do číslicové vždy při pořízení/snímání obrazu. Vzorkování probíhá „mimoděk“ na samotné ploše snímacího čipu (např. CCD nebo CMOS), kvantování pak v A/D převodníku digitalizační karty nebo fotoaparátu. Frekvence vzorkování (počet buněk čipu) v prvním resp. druhém rozměru analogového obrazu udává počet řádků resp. sloupců výstupního diskrétního obrazu. Rozsah A/D převodníku pak určuje počet kvantizačních úrovní a tím výslednou barevnou hloubku obrazu. 2. Četnost hodnoty v diskrétním signálu udává počet výskytů této konkrétní hodnoty. Pokud se tyto hodnoty seřadí vedle sebe vzestupně podle hodnoty odpovídající signálu, vytvoří charakteristiku zvanou histogram. 3. Filtrací obrazového signálu v prostorové oblasti se rozumí potlačení či jiné ovlivnění obrazových bodů v přesně specifikované oblasti např. filtrace binární maskou. Na druhé straně filtrací ve frekvenční oblasti se rozumí odstranění nebo naopak zvýraznění některých frekvenčních složek obrazu např. rozmazání hran resp. ostření znamená potlačení resp. zvýraznění vysokých frekvencí v signálu. 4. Vzhledem ke zpracování všech cvičení v interpretu MatLab je nutné klást důraz na vektorové a maticové operace. Naopak vhodné není řešit úlohy klasickou programovací metodou používající cykly for a while a podmínky if. 5. Fouriérova transformace při zpracování obrazu se využívá stejným způsobem jako při zpracování obecného signálu. Lze pomocí ní analyzovat signál ve frekvenční oblasti (souvisí s frekvenční filtrací v bodě 3). 6. Topologické vlastnosti objektu jsou takové, které se neopírají o pojem vzdálenosti, ale jsou určeny vzájemným uspořádáním jednotlivých bodů tvořících objekt. Pokud je na obraz aplikována homeomorfní transformace (např. otočení, změna měřítka, deformace obrazové roviny apod.) zůstávají topologické vlastnosti objektu beze změny.
Počítačové vidění
29
14 Seznam použité literatury [ 1 ] Hlaváč V., Šonka M.: Počítačové vidění, Grada 1992, ISBN 80–85424-67–3 [ 2 ] Hlaváč V., Sedláček M.: Zpracování signálů a obrazů, skriptum ČVUT 2000, ISBN 80– 01-02114–9 [ 3 ] Žára J. a kol.: Moderní počítačová grafika, Computer Press 1998, ISBN 80–7226-049–9 [ 4 ] Jahne. B., Handbook of Computer Vision and Applications I, II, III. Academic Press, San Diego, 1999. [ 5 ] HIPR2 – jednoduchý a názorný materiál pro demonstraci základních operací nad obrazem: http://homepages.inf.ed.ac.uk/rbf/HIPR2 [ 6 ] Computer Vision online http://homepages.inf.ed.ac.uk/rbf/CVonline/
–
soubor
odkazů
a
článků: