V. Segmentace obrazu pomocí prahování a pomocí Houghovy transformace
Úkol
Segmentujte obraz do dvou
oblastí. Obraz byl velmi poškozen Gaussovským šumem. Původní obraz
obsahoval dvě oblasti s konstantním jasem. Oblasti byly rozděleny
přímkou.
Užitečné linky
Segmentace pomocí histogramu
-
Pokuste se odstranit šum lineární filtrací.
-
mask = fspecial('Gaussian',13,9);
- IM = filter2(mask,IM,'same');
-
Vykreslete jasový histogram. imhist
-
Ručně určete práh.
-
Spočtěte povrch jednotlivých oblastí (počty pixelů náležící jednotlivým oblastem)
Segmentace pomocí nalezení dělící přímky
-
Pokuste se odstranit šum lineární filtrací.
-
mask = fspecial('Gaussian',13,9);
-
IM = filter2(mask,IM,'same');
-
Nalezněte v obraze hrany pomocí Cannyho detektoru. Threshold nechte
nastavit automaticky. Hledejte hrany v obraze filtrovanem pomoci:
- IM2 = filter2(mask,IM,'valid'); % !!! filtruje se tedy podruhe!!!
- IMedge = edge(IM2,'canny');
-
Pomocí Houghovy transformace nalezněte v hranovém obraze nejdelší
přímku. Pro implementaci můžete s výhodou použít funkci
radon, která počítá radonovu tranformaci. Pomocný text s jednoduchým příkladem.
-
Segmentujte obraz pomocí této přímky. Spočtěte povrch jednotlivých
oblastí (počty pixelů náležící jednotlivým oblastem)
Odevzdání
Součástí odevzdání bude:
-
Segmentovaný obraz. Čili obraz s rozdílně obarvenými regiony.
-
Počty pixelů v jednotlivých oblastech (velikost oblasti).
Hlavní strana