Počítačové vidění Počítačová cvičení. Autoři textu: Ing. Karel Horák, Ph.D.



Podobné dokumenty
Analýza a zpracování digitálního obrazu

Jasové transformace. Karel Horák. Rozvrh přednášky:

DETEKCE HRAN V BIOMEDICÍNSKÝCH OBRAZECH

Matematická morfologie

13 Barvy a úpravy rastrového

Operace s obrazem I. Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno. prezentace je součástí projektu FRVŠ č.

1 Základní funkce pro zpracování obrazových dat

Operace s obrazem II

1 Jasové transformace

2010 Josef Pelikán, CGG MFF UK Praha

Úvod do zpracování signálů

Operace s obrazem. Biofyzikální ústav LF MU. Projekt FRVŠ 911/2013

Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)

Diskrétní 2D konvoluce

Zpracování obrazů. Honza Černocký, ÚPGM

II. Úlohy na vložené cykly a podprogramy

Grafika na počítači. Bc. Veronika Tomsová

ROZ I. CVIČENÍ V. Morfologické operace v obraze teorie & praxe

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně a frekvenční doméně

NPGR032 CVIČENÍ III. Šum a jeho odstranění teorie&praxe. Adam Novozámský (novozamsky@utia.cas.cz)

Úpravy rastrového obrazu

11MAMY LS 2017/2018. Úvod do Matlabu. 21. února Skupina 01. reseni2.m a tak dále + M souborem zadané funkce z příkladu 3 + souborem skupina.

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně a frekvenční doméně

7. Rozdělení pravděpodobnosti ve statistice

HLEDÁNÍ HRAN. Václav Hlaváč. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání.

KTE/TEVS - Rychlá Fourierova transformace. Pavel Karban. Katedra teoretické elektrotechniky Fakulta elektrotechnická Západočeská univerzita v Plzni

Zpracování obrazu a fotonika 2006

Filtrace obrazu ve frekvenční oblasti

Roman Juránek. Fakulta informačních technologíı. Extrakce obrazových příznaků 1 / 30

Základy zpracování obrazu

ZPRACOVÁNÍ OBRAZU přednáška 4

VYUŽITÍ MATLABU PRO PODPORU VÝUKY A PŘI ŘEŠENÍ VÝZKUMNÝCH ÚKOLŮ NA KATEDŘE KOMUNIKAČNÍCH A INFORMAČNÍCH SYSTÉMŮ

Lineární a adaptivní zpracování dat. 2. SYSTÉMY a jejich popis v časové doméně

Omezení barevného prostoru

IB112 Základy matematiky

MĚŘENÍ A ANALÝZA ELEKTROAKUSTICKÝCH SOUSTAV NA MODELECH. Petr Kopecký ČVUT, Fakulta elektrotechnická, Katedra Radioelektroniky

Semestrální projekt. Vyhodnocení přesnosti sebelokalizace VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Fakulta elektrotechniky a komunikačních technologií

7 Transformace 2D. 7.1 Transformace objektů obecně. Studijní cíl. Doba nutná k nastudování. Průvodce studiem

U Úvod do modelování a simulace systémů

základní vlastnosti, používané struktury návrhové prostředky MATLAB problém kvantování koeficientů

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

OBRAZOVÁ ANALÝZA. Speciální technika a měření v oděvní výrobě

ROZ1 - Cv. 3 - Šum a jeho odstranění ÚTIA - ZOI

3 METODY PRO POTLAČENÍ ŠUMU U ŘE- ČOVÉHO SIGNÁLU

Úloha - rozpoznávání číslic

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Příklady použití tenkých vrstev Jaromír Křepelka

FILTRACE VE FOURIEROVSKÉM SPEKTRU

12 Metody snižování barevného prostoru

0.1 Úvod do lineární algebry

ALGORITMIZACE A PROGRAMOVÁNÍ

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

5. Lokální, vázané a globální extrémy

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Číslicová filtrace. FIR filtry IIR filtry. ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická

Fakulta informačních technologíı. Extrakce obrazových příznaků 1 / 39

1 Zpracování a analýza tlakové vlny

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu.

44. Obraz jako signál.

Hledání hran. Václav Hlaváč. České vysoké učení technické v Praze

ROZ1 CVIČENÍ VI. Geometrická registrace (matching) obrazů

Dodatky k FT: 1. (2D digitalizace) 2. Více o FT 3. Více k užití filtrů. 7. přednáška předmětu Zpracování obrazů

ROZ1 - Cv. 2 - Fourierova transformace ÚTIA - ZOI

Rastrové digitální modely terénu

Středoškolská technika SCI-Lab

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Neuronové časové řady (ANN-TS)

Aplikovaná numerická matematika

Geometrické transformace

Číselné charakteristiky a jejich výpočet

MATURITNÍ TÉMATA Z MATEMATIKY

Fouriérova transformace, konvoluce, dekonvoluce, Fouriérovské integrály

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

Kapitola 1. Signály a systémy. 1.1 Klasifikace signálů

1. Vlastnosti diskretních a číslicových metod zpracování signálů... 15

" Furierova transformace"

0.1 Úvod do lineární algebry

Požadavky k písemné přijímací zkoušce z matematiky do navazujícího magisterského studia pro neučitelské obory

Programy na PODMÍNĚNÝ příkaz IF a CASE

ZÁKLADY AUTOMATICKÉHO ŘÍZENÍ

Defektoskopie. 1 Teoretický úvod. Cíl cvičení: Detekce měřicího stavu a lokalizace objektu

Restaurace (obnovení) obrazu při známé degradaci

BPC2E_C08 Parametrické 3D grafy v Matlabu

Hledání hran. Václav Hlaváč. České vysoké učení technické v Praze

Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách

PŘEVOD ŠEDOTÓNOVÝCH SNÍMKŮ NA BINÁRNÍ

CITLIVOSTNÍ ANALÝZA DYNAMICKÝCH SYSTÉMŮ I

X37SGS Signály a systémy

Analýza pohybu. Karel Horák. Rozvrh přednášky: 1. Úvod. 2. Úlohy analýzy pohybu. 3. Rozdílové metody. 4. Estimace modelu prostředí. 5. Optický tok.

Signál v čase a jeho spektrum

Lineární algebra - I. část (vektory, matice a jejich využití)

Čas (s) Model časového průběhu sorpce vyplývá z 2. Fickova zákona a je popsán následující rovnicí

Matematika pro informatiky

Algoritmizace a programování

VEKTORY. Obrázek 1: Jediný vektor. Souřadnice vektoru jsou jeho průměty do souřadných os x a y u dvojrozměrného vektoru, AB = B A

Rozšíření bakalářské práce

BPC2E_C09 Model komunikačního systému v Matlabu

FOURIEROVA ANAL YZA 2D TER ENN ICH DAT Karel Segeth

Rovinný průtokoměr. Diplomová práce Ústav mechaniky tekutin a termodynamiky, Jakub Filipský

Matematika B101MA1, B101MA2

DIGITÁLNÍ OBRAZ. Obrázky (popř. slajdy) převzaty od

Transkript:

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..28

2 FEKT Vysokého učení technického v Brně Obsah ÚVOD... 4 2 ZAŘAZENÍ PŘEDMĚTU VE STUDIJNÍM PROGRAMU... 4 2. ÚVOD DO PŘEDMĚTU... 5 2.2 VSTUPNÍ TEST... 5 3 CVIČENÍ I. DISKRÉTNÍ OBRAZ... 6 3. TEORETICKÝ ÚVOD... 6 3.2 ÚKOLY... 7 3.3 DOBRÉ VĚDĚT... 7 3.4 VÝSLEDKY... 8 4 CVIČENÍ II. ARITMETICKÉ OPERACE... 8 4. TEORETICKÝ ÚVOD... 8 4.2 ÚKOLY... 9 4.3 DOBRÉ VĚDĚT... 9 4.4 VÝSLEDKY... 5 CVIČENÍ III. BODOVÉ JASOVÉ TRANSFORMACE... 5. TEORETICKÝ ÚVOD... 5.2 ÚKOLY... 5.3 DOBRÉ VĚDĚT... 5.4 VÝSLEDKY... 2 6 CVIČENÍ IV. SEGMENTACE PRAHOVÁNÍM... 2 6. TEORETICKÝ ÚVOD... 2 6.2 ÚKOLY... 3 6.3 DOBRÉ VĚDĚT... 3 6.4 VÝSLEDKY... 3 7 CVIČENÍ V. DISKRÉTNÍ KONVOLUCE... 4 7. TEORETICKÝ ÚVOD... 4 7.2 ÚKOLY... 5 7.3 DOBRÉ VĚDĚT... 5 7.4 VÝSLEDKY... 5 8 CVIČENÍ VI. DETEKCE HRAN... 6 8. TEORETICKÝ ÚVOD... 6 8.2 ÚKOLY... 7 8.3 DOBRÉ VĚDĚT... 7 8.4 VÝSLEDKY... 8 9 CVIČENÍ VII. REDUKCE ŠUMU A OSTŘENÍ OBRAZU... 8 9. TEORETICKÝ ÚVOD... 8 9.2 ÚKOLY... 9 9.3 DOBRÉ VĚDĚT... 9 9.4 VÝSLEDKY... 2 CVIČENÍ VIII. NÁVRH HRANOVÉHO FILTRU... 2

Počítačové vidění 3. TEORETICKÝ ÚVOD... 2.2 ÚKOLY... 2.3 DOBRÉ VĚDĚT... 2.4 VÝSLEDKY... 22 CVIČENÍ IX. FILTRACE OBRAZU V KMITOČTOVÉ OBLASTI... 22. TEORETICKÝ ÚVOD... 22.2 ÚKOLY... 24.3 DOBRÉ VĚDĚT... 24.4 VÝSLEDKY... 24 2 CVIČENÍ X. MORFOLOGICKÉ OPERACE... 25 2. TEORETICKÝ ÚVOD... 25 2.2 ÚKOLY... 26 2.3 DOBRÉ VĚDĚT... 27 2.4 VÝSLEDKY... 27 3 DODATKY... 27 3. VSTUPNÍ TEST... 27 3.. Vstupní test zadání... 27 3..2 Vstupní test řešení... 28 4 SEZNAM POUŽITÉ LITERATURY... 29

4 FEKT Vysokého učení technického v Brně Seznam obrázků OBR. 3.: DISKRÉTNÍ OBRAZ A ODPOVÍDAJÍCÍ HODNOTY JASOVÉ FUNKCE... 6 OBR. 3.2: SLOŽENÍ BAREVNÉHO OBRAZU ZE SPEKTRÁLNÍCH SLOŽEK R, G A B... 7 OBR. 3.3: GALERIE VÝSLEDKŮ CVIČENÍ I.... 8 OBR. 4.: GALERIE VÝSLEDKŮ CVIČENÍ II. MÍCHÁNÍ OBRAZŮ... OBR. 4.2: GALERIE VÝSLEDKŮ CVIČENÍ II. FILTRACE MASKOU... OBR. 5.: PŘEVODNÍ CHARAKTERISTIKY BODOVÝCH JASOVÝCH TRANSFORMACÍ... OBR. 5.2: HISTOGRAM ORIGINÁLNÍHO A INVERZNÍHO OBRAZU... 2 OBR. 5.3: EKVALIZACE HISTOGRAMU OBRAZU... 2 OBR. 6.: PRAHOVÁNÍ S PEVNÝMI RELATIVNÍMI PRAHY RŮZNÝCH ÚROVNÍ... 3 OBR. 7.: ZNÁZORNĚNÍ MECHANISMU VÝPOČTU KONVOLUTORNÍ HODNOTY... 4 OBR. 7.2: GALERIE VÝSLEDKŮ CVIČENÍ V. ROZTAŽENÍ HISTOGRAMU A PRŮMĚROVÁNÍ. 5 OBR. 8.: GALERIE VÝSLEDKŮ CVIČENÍ VI. APLIKACE FILTRŮ... 8 OBR. 9.: NEOPTIMALIZOVANÉ OPERACE ODSTRANĚNÍ ŠUMU Z OBRAZU... 2 OBR. 9.2: GALERIE VÝSLEDKŮ CVIČENÍ VII. OSTŘENÍ A ŠUM V OBRAZE... 2 OBR..: GALERIE VÝSLEDKŮ CVIČENÍ VIII. HRANOVÉ DETEKTORY... 22 OBR..: FILTRACE V PROSTOROVÉ A FREKVENČNÍ OBLASTI... 22 OBR..2: PŘÍKLAD AMPLITUDOVÉ FREKVENČNÍ CHARAKTERISTIKY... 23 OBR..3: OBRAZ V PROSTOROVÉ A FREKVENČNÍ OBLASTI... 24 OBR..4: FILTRACE OBRAZU VE FREKVENČNÍ DOMÉNĚ... 25 OBR. 2.: OPERACE DILATACE... 26 OBR. 2.2: MORFOLOGICKÉ OPERACE... 27 Ú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, +42544 3647, horakk@feec.vutbr.cz 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. Ú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:. 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ě. 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. 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í 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.: 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 resp. 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. Vytvořte matici představující obrazovou rovinu šedo-tónového obrazu o rozměrech 64x48 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 = [ 5; 2 7; 2 5 ], 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.. 255). Pozor! Pro práci s prvky matice je zpravidla nutné přetypovat na vyšší datový typ (int6, uint6, 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. 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.). Vzhledem k různé citlivosti lidského oka na různé spektrální složky nejsou jednotlivé koeficienty C i rovny jedné třetině, ale empiricky zjištěným hodnotám C R =.299, C G =.587, C B =.4. G( x, y) = C R( x, y) + C G( x, y) + C B( x, y) ( 4. ) R G B

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. 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)=P (i,j)+p2(i,j) a R(i,j)=P (i,j)+c rozdíl obrazů R(i,j)=P (i,j)-p 2 (i,j) a R(i,j)=P (i,j)-c součin obrazů R(i,j)=P (i,j)*p 2 (i,j) a R(i,j)=P (i,j)*c dělení obrazů R(i,j)=P (i,j)/p 2 (i,j) a R(i,j)=P (i,j)/c míchání obrazů R(i,j)=X*P (i,j)+(-x)*p 2 (i,j) a R(i,j)=X*P (i,j)+(-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.). 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. Druhá maska bude představovat šachovnici, kde černá pole budou mít hodnotu a bílá pole hodnotu. 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+ 255 ; - ) a přetékající (255+ ; - 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

FEKT Vysokého učení technického v Brně 4.4 Výsledky Obr. 4.: 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. 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 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í ú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.: 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- 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. 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.

2 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. 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í 3 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. 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. až., které odpovídají u šedo-tónového obrazu se 256 úrovněmi hodnotám a 255. Práh.7 tedy odpovídá jasové hodnotě 79. Příkazy: graythresh, max, median, mean 6.4 Výsledky Obr. 6.: Prahování s pevnými relativními prahy různých úrovní

4 FEKT Vysokého učení technického v Brně 7 Cvičení V. Diskrétní konvoluce 7. 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. x+ S / 2 y+ R / 2 g ( x, y) = f ( x, y) h( x, y) = f ( i, j) h( x i, y j) ( 7. ) i= xs / 2 j = yr / 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.: Znázornění mechanismu výpočtu konvolutorní hodnoty

Počítačové vidění 5 7.2 Úkoly. 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 3 % se saturací inverze obrazu průměrování maskou velikosti 5x5, 9x9 a 3x3 (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í

6 FEKT Vysokého učení technického v Brně 8 Cvičení VI. Detekce hran 8. 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í. = R ( 8. ) = P ( 8.2 ) = 2 2 S ( 8.3 ) = 2 Ro ( 8.4 ) = 5 3 3 5 3 5 3 3 K ( 8.5 ) = 4 4 L ( 8.6 ) = 8 8 L ( 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í 7 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. 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 Laplace- Gauss, 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.

8 FEKT Vysokého učení technického v Brně 8.4 Výsledky Obr. 8.: Galerie výsledků cvičení VI. aplikace filtrů 9 Cvičení VII. Redukce šumu a ostření obrazu 9. 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. m = ( 9. ) 9

Počítačové vidění 9 m = 2 ( 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. 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.

2 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.: Neoptimalizované operace odstranění šumu z obrazu Obr. 9.2: Galerie výsledků cvičení VII. ostření a šum v obraze Cvičení VIII. Návrh hranového filtru. 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í 2 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 σ ( x, y) 2 2 2 2 2 = e (. ) 2πσ 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šší (T H ) a nižší (T L ). Hodnoty hran vyšší, než práh T H jsou ihned uznány jako hrany, hodnoty pod prahem T L nejsou uznány. Hrany, jejichž úroveň leží v intervalu <T L ;T H > 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..2 Úkoly. 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í T L a T H volte tak, aby horní práh segmentoval pouze významné kontury objektů a dolní práh je významně doplnil..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ě.4 Výsledky Obr..: Galerie výsledků cvičení VIII. hranové detektory Cvičení IX. Filtrace obrazu v kmitočtové oblasti. 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..: 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 (.). F( u, v) = R S y= x= 2πj x u 2πj y v f ( x, y) exp + S R (. ) 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..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 (.2). f ( x, y) = R S R S v= u= 2πj x u 2πj y v F( u, v) exp + S R (.2 ) Člen /(R*S) se někdy vyskytuje ve vzorci (.) pro přímou DFT místo (.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ě.2 Úkoly. 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 28. 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..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.4 Výsledky Obr..3: Obraz v prostorové a frekvenční oblasti

Počítačové vidění 25 Obr..4: Filtrace obrazu ve frekvenční doméně 2 Cvičení X. Morfologické operace 2. 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 2 B = { d E : d = x + b, x X, b B} X B = U b B X b ( 2. ) Obrázek 2. 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. 2.: 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: 2 X Θ B = { d E : d + b X pro b B} X Θ B = I b B X b ( 2.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 Θ B) B X o B = ( 2.3 ) ( X B) ΘB X B = ( 2.4 ) 2.2 Úkoly. 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í. 2.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 2.4 Výsledky Obr. 2.2: Morfologické operace 3 Dodatky 3. Vstupní test 3.. Vstupní test zadání. 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? 3..2 Vstupní test řešení. 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 4 Seznam použité literatury [ ] Hlaváč V., Šonka M.: Počítačové vidění, Grada 992, ISBN 8 85424-67 3 [ 2 ] Hlaváč V., Sedláček M.: Zpracování signálů a obrazů, skriptum ČVUT 2, ISBN 8-24 9 [ 3 ] Žára J. a kol.: Moderní počítačová grafika, Computer Press 998, ISBN 8 7226-49 9 [ 4 ] Jahne. B., Handbook of Computer Vision and Applications I, II, III. Academic Press, San Diego, 999. [ 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 soubor odkazů a článků: http://homepages.inf.ed.ac.uk/rbf/cvonline/