Počítačové vidění - Vysoké učení technické v Brně

Transkript

Počítačové vidění - Vysoké učení technické v Brně
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 <TL;TH> 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ů: