Morfológia Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia Intézet 2013. szeptember 15. Sergyán (OE NIK) Morfológia 2013. szeptember 15. 1 / 55
Bevezetés A matematikai morfológia a képanaĺızishez biztosít hasznos eszközöket A matematikai morfológia műveleteit halmazműveletekkel írjuk le Sergyán (OE NIK) Morfológia 2013. szeptember 15. 2 / 55
Alapműveletek A műveletek a d-dimenziós euklideszi tér tetszőleges részhalmazain értelmezettek Legyenek X és Y a képpontok V halmazának részhalmazai 2D kép esetén: V = Z 2 3D kép esetén: V = Z 3 Sergyán (OE NIK) Morfológia 2013. szeptember 15. 3 / 55
Alapműveletek X ponthalmaz komplementere X C = {p p / X } = V \ X X ponthalmaz a-val való eltolása (X ) a = {x + a x X }, ahol a V és + a komponensenkénti/koordinátánkénti összeadás Az Y ponthalmaz tükrözése Ŷ = { y y Y }, ahol a komponensenkénti -1 -gyel való szorzás Sergyán (OE NIK) Morfológia 2013. szeptember 15. 4 / 55
Alapműveletek Forrás: Palágyi Kálmán Képfeldolgozás haladóknak Sergyán (OE NIK) Morfológia 2013. szeptember 15. 5 / 55
Dilatáció X ponthalmaznak az Y -nal való dilatációja { } X Y = a (Ŷ ) a X = ahol az Y ponthalmazt szerkesztőelemnek nevezzük { a [(Ŷ ) a X ] X A szerkesztőelem koordináta-rendszerének origóját eltoljuk V minden elemére és az adott elemet felvesszük a dilatált halmazba, ha a szerkesztőelemnek legalább egy pontja X -beli ponttal kerül fedésbe Belátható, hogy X X Y, azaz a dilatáció hízlal, ha az Y szerkesztőelemnek eleme a saját origójában lévő elem }, Sergyán (OE NIK) Morfológia 2013. szeptember 15. 6 / 55
Erózió X ponthalmaznak az Y -nal való eróziója X Y = {a (Y ) a X } = (X C Ŷ ) C A V halmaz egy pontja akkor kerül be az erodált halmazba, ha a szerkesztőelem koordináta-rendszerének origóját az adott pontba eltolva minden egyes Y -beli pont Y -belivel kerül fedésbe Ha Y tartalmazza az origót, akkor X Y Y, vagyis az erózió fogyaszt Sergyán (OE NIK) Morfológia 2013. szeptember 15. 7 / 55
Dilatáció és erózió Forrás: Palágyi Kálmán Képfeldolgozás haladóknak Sergyán (OE NIK) Morfológia 2013. szeptember 15. 8 / 55
Dilatáció és erózió Forrás: Palágyi Kálmán Képfeldolgozás haladóknak Sergyán (OE NIK) Morfológia 2013. szeptember 15. 9 / 55
Iterált szerkesztőelem Legyen Y V egy tetszőleges szerkesztőelem és jelölje O V az origót (ami (0, 0), ha V = Z 2 és (0, 0, 0), ha V = Z 3 ). Az Y elem k-adik iteráltja: Y (k) = { {OV }, ha k=0 Y (k 1) Y, ha k 1 Forrás: Palágyi Kálmán Képfeldolgozás haladóknak Sergyán (OE NIK) Morfológia 2013. szeptember 15. 10 / 55
Iterált dilatáció és erózió X ponthalmaznak az Y szerkesztőelemmel való iterált dilatációja { X, ha k = 0 X k Y = (X k 1 Y ) Y, ha k > 0 X ponthalmaznak az Y szerkesztőelemmel való iterált eróziója { X, ha k = 0 X k Y = (X k 1 Y ) Y, ha k > 0 Sergyán (OE NIK) Morfológia 2013. szeptember 15. 11 / 55
Dilatáció és erózió tulajdonságai Asszociativitás (X Y ) Z = X (Y Z) (X Y ) Z = X (Y Z) X {O V } = X X {O V } = X Sergyán (OE NIK) Morfológia 2013. szeptember 15. 12 / 55
Iterált dilatáció és erózió Előzőekből következik: X k Y = X Y (k) X k Y = X Y (k) Következmény: A nagyméretű szerkesztőelemekkel való dilatáció és erózió kiváltható kisméretűekkel végrehajtott iterált műveletekkel Sergyán (OE NIK) Morfológia 2013. szeptember 15. 13 / 55
Nyitás X ponthalmaznak az Y szerkesztőelemmel való nyitása X Y = {(Y ) a (Y ) a X } = (X Y ) Y X halmaz megad egy szegmenst a kifestőkönyvben Y szerkesztőelem leírja az ecset méretét és alakját A nyitás eredménye a szegmens szabályos kifestésének felel meg (a szegmenst maximálisan kifestettük anélkül, hogy kifutottunk volna belőle) Sergyán (OE NIK) Morfológia 2013. szeptember 15. 14 / 55
Zárás X ponthalmaznak az Y szerkesztőelemmel való zárása X Y = (X Y ) Y = (X C Ŷ ) C Sergyán (OE NIK) Morfológia 2013. szeptember 15. 15 / 55
Nyitás és zárás tulajdonságai 1 A nyitás fogyaszt, a zárás pedig hízlal X Y X X X Y 2 Monotonitás: Ha X 1 X 2, akkor X 1 Y X 2 Y X 1 Y X 2 Y 3 Idempotencia: (X Y ) Y = X Y (X Y ) Y = X Y Sergyán (OE NIK) Morfológia 2013. szeptember 15. 16 / 55
Morfológiai szűrés (X Y ) Y = (((X Y ) Y ) Y ) Y Forrás: Palágyi Kálmán Képfeldolgozás haladóknak Sergyán (OE NIK) Morfológia 2013. szeptember 15. 17 / 55
Morfológia szűrés 1 Erózió törli a kisméretű külső zajokat. 2 Eközben a kisméretű üregek megnőnek, így a megőrzendő objektumok fogynak. Kell egy dilatáció, amely visszaálĺıtja az objektumok és üregek eredeti méretét. 3 Újabb dilatáció kitölti a kisméretű (zajnak minősülő) üregeket. 4 Eközben az objektumok meghíznak, amit egy újabb erózió álĺıt helyre. Sergyán (OE NIK) Morfológia 2013. szeptember 15. 18 / 55
Nyitás, zárás, morfológiai szűrés Forrás: Palágyi Kálmán Képfeldolgozás haladóknak Sergyán (OE NIK) Morfológia 2013. szeptember 15. 19 / 55
Nyitás hatása jól megválasztott szerkesztőelemmel Forrás: Palágyi Kálmán Képfeldolgozás haladóknak Sergyán (OE NIK) Morfológia 2013. szeptember 15. 20 / 55
Objektum detektálás (MATLAB példa) geo dilate függvény function im out = g e o d i l a t e ( im, i n s e t ) im out = i m d i l a t e ( im, s t r e l ( diamond, 1 ) ) ; im out = im out & i n s e t ; Sergyán (OE NIK) Morfológia 2013. szeptember 15. 21 / 55
Objektum detektálás (MATLAB példa) bin rec függvény function im out = b i n r e c ( im, i n s e t ) while t r u e im out = g e o d i l a t e ( im, i n s e t ) ; d i f f = sum( im out (:) im ( : ) ) ; i f d i f f==0 break ; end im = im out ; end Sergyán (OE NIK) Morfológia 2013. szeptember 15. 22 / 55
Objektum detektálás (MATLAB példa) objdetect függvény function [ im out, im mark ] = o b j d e t e c t ( im, e l ) % im B i n a r y i n p u t image % e l R e c t a n g u l a r s t r u c t u r i n g element % im out B i n a r y image o f d e t e c t e d o b j e c t s im = l o g i c a l ( im ) ; im out = i m c l o s e ( im, s t r e l ( s q u a r e, 2 ) ) ; im out = imopen ( im out, s t r e l ( s q u a r e, 2 ) ) ; im mark = imopen ( im out, s t r e l ( r e c t a n g l e, e l ) ) ; im out = b i n r e c ( im mark, im out ) ; Sergyán (OE NIK) Morfológia 2013. szeptember 15. 23 / 55
Objektum detektálás (MATLAB példa) color thresh függvény function i m b i n = c o l o r t h r e s h ( im, pt, th ) imyuv = r g b 2 n t s c ( im ) ; ptu = imyuv( pt ( 1 ), pt ( 2 ), 2 ) ; % v a l u e i n the U c h a n n e l ptv = imyuv( pt ( 1 ), pt ( 2 ), 3 ) ; % v a l u e i n the V c h a n n e l d i s t = (imyuv ( :, :, 2 ) ptu ).ˆ2+(imYUV ( :, :, 3 ) ptv ). ˆ 2 ; i m b i n = d i s t > th ; Sergyán (OE NIK) Morfológia 2013. szeptember 15. 24 / 55
Objektum detektálás (MATLAB példa) Tesztelés i m c o l o r = imread ( spoons. png ) ; s u b p l o t ( 2, 4, 1 ), imshow ( i m c o l o r, [ ] ) pt = [ 1 6 0 3 2 ] ; im = c o l o r t h r e s h ( i m c o l o r, pt, 0. 0 4 ) ; s u b p l o t ( 2, 4, 2 ), imshow ( im, [ ] ), colormap ( gray ) [ xv, xv mark ] = o b j d e t e c t ( im, [ 4 0 1 ] ) ; s u b p l o t ( 2, 4, 3 ), imshow ( xv mark, [ ] ) s u b p l o t ( 2, 4, 4 ), imshow ( xv, [ ] ) xshow = repmat ( xv, [ 1 1 3 ] ). d o u b l e ( i m c o l o r ) / 2 5 5 ; xshow ( repmat ( xv, [ 1 1 3])==0) = 1 ; s u b p l o t ( 2, 4, 5 ), imshow ( xshow, [ ] ) ; [ xh, xh mark ] = o b j d e t e c t ( im, [ 1 4 0 ] ) ; s u b p l o t ( 2, 4, 6 ), imshow ( xh mark, [ ] ) s u b p l o t ( 2, 4, 7 ), imshow ( xh, [ ] ) xshow = repmat ( xh, [ 1 1 3 ] ). d o u b l e ( i m c o l o r ) / 2 5 5 ; xshow ( repmat ( xh, [ 1 1 3 ] ) == 0) = 1 ; s u b p l o t ( 2, 4, 8 ), imshow ( xshow, [ ] ) ; Sergyán (OE NIK) Morfológia 2013. szeptember 15. 25 / 55
Objektum detektálás (MATLAB példa) Eredmények Eredeti színes kép Binarizált kép Függőleges marker Függőleges találatok Függőleges kanalak Vízszintes marker Vízszintes találatok Vízszintes kanalak Sergyán (OE NIK) Morfológia 2013. szeptember 15. 26 / 55
Hit-or-miss transzformáció Az Y szerkesztőelemet két diszjunkt részhalmazra bontjuk, azaz Y = Y 1 Y 2, ahol Y 1 Y 2 =. X ponthalmaz Y -nal való hit-or-miss transzformációja X Y = (X Y 1 ) (X C Y 2 ) = (X Y 1 ) \ (X Ŷ 2 ) A hit-or-miss transzformált halmaznak olyan pont lesz eleme, amellyel a szerkesztőelem origóját eltolva az Y 1 által lefedett valamennyi pont X -be esik, de az Y 2 által lefedett pontok között nincs X -beli. Sergyán (OE NIK) Morfológia 2013. szeptember 15. 27 / 55
Hit-or-miss transzformáció Forrás: Palágyi Kálmán Képfeldolgozás haladóknak Sergyán (OE NIK) Morfológia 2013. szeptember 15. 28 / 55
Morfológia vékonyítás X halmaznak az Y szerkesztőelemmel való vékonyítása X Y = X \ (X Y ) = X (X Y ) C A formula a vékonyítás egy lépését adja meg A vékonyítást addig kell végezni, amíg X Y Sergyán (OE NIK) Morfológia 2013. szeptember 15. 29 / 55
Morfológiai vékonyítás Amennyiben a vékonyítás az ún. irány-szekvenciális megközeĺıtést követi, úgy egy iterációs lépés több fázisból áll, ahol az egymást követő fázisokhoz különböző szerkesztőelemek tartoznak. k-fázisú (k > 1) vékonyítás esetén egy k tagból álló szerkesztőelem-rendszert kell megadni: Y = {Y 1, Y 2,..., Y k }, ahol Y i az i-edik fázis során alkalmazandó szerkesztőelem (1 i k). X halmaznak az Y-nal történő vékonyításának egy iterációs lépése X Y = ((... ((X Y 1 ) Y 2 )...) Y k ) Sergyán (OE NIK) Morfológia 2013. szeptember 15. 30 / 55
Szerkesztőelem-rendszer Forrás: Palágyi Kálmán Képfeldolgozás haladóknak Sergyán (OE NIK) Morfológia 2013. szeptember 15. 31 / 55
Morfológiai vékonyítás Forrás: Palágyi Kálmán Képfeldolgozás haladóknak Sergyán (OE NIK) Morfológia 2013. szeptember 15. 32 / 55
Morfológiai váz Diszkrét terek a morfológiai váz meghatározásához olyan Y szimmetrikus szerkesztőelemet szoktak feltételezni, ami az origó középpontú, 1 sugarú hipergömb egy közeĺıtése. Morfológiai váz: S(X ) = S k (X ) = k=0 Véges X halmazra: S(X ) = K S k (X ) = k=0 {(X k Y ) \ [(X k Y ) Y ]} k=0 K {(X k Y ) \ [(X k Y ) Y ]}, k=0 ahol K = max {k (X k Y ) } Sergyán (OE NIK) Morfológia 2013. szeptember 15. 33 / 55
Morfológiai váz Forrás: Palágyi Kálmán Képfeldolgozás haladóknak Sergyán (OE NIK) Morfológia 2013. szeptember 15. 34 / 55
Morfológiai váz A kiindulási X halmaz rekonstruálható a morfológiai váz S k (X ) részhalmazainak ismeretében: X = K S k (X ) k Y k=0 Sergyán (OE NIK) Morfológia 2013. szeptember 15. 35 / 55
Vékonyítás (MATLAB példa) thinning függvény f u n c t i o n s k e l = t h i n n i n g ( im, e l, i t ) f o r r = 1 : 2 f o r s = 1 : s i z e ( e l, 4 ) e l r o t ( :, :, r, s, 1 ) = s q u e e z e ( e l ( :, :, r, s ) ) ; e l r o t ( :, :, r, s, 2 ) = s q u e e z e ( e l ( end : 1 : 1, :, r, s ) ) ; e l r o t ( :, :, r, s, 3 ) = s q u e e z e ( e l r o t ( end : 1 : 1, :, r, s, 2 ) ) ; e l r o t ( :, :, r, s, 4 ) = s q u e e z e ( e l ( :, end : 1:1, r, s ) ) ; end end k = 1 ; f o r s = 1 : s i z e ( e l r o t, 4 ) f o r t = 1 : s i z e ( e l r o t, 5 ) e l h i t ( k ) = s t r e l ( a r b i t r a r y, s q u e e z e ( e l r o t ( :, :, 1, s, t ) ) ) ; e l m i s s ( k ) = s t r e l ( a r b i t r a r y, s q u e e z e ( e l r o t ( :, :, 2, s, t ) ) ) ; k = k+1; end end w h i l e t r u e s k e l = im ; f o r k = 1 : s i z e ( e l h i t, 2 ) im = im b w h i t m i s s ( im, e l h i t ( k ), e l m i s s ( k ) ) ; end i t = i t 1 ; i f sum ( s k e l (:) im (:))==0 i t ==0, break ; end ; end s k e l = im ; Sergyán (OE NIK) Morfológia 2013. szeptember 15. 36 / 55
Vékonyítás (MATLAB példa) Tesztelés im = imread ( s p o o n s b i n a r y h o l e s. png ) > 0 ; s u b p l o t ( 2, 2, 1 ), imshow ( im, [ ] ), colormap ( gray ) g o l a y L ( :, :, 1, 1 ) = [ 0 0 0 ; 0 1 0 ; 1 1 1 ] ; g o l a y L ( :, :, 2, 1 ) = [ 1 1 1 ; 0 0 0 ; 0 0 0 ] ; g o l a y L ( :, :, 1, 2 ) = [ 0 0 0 ; 1 1 0 ; 0 1 0 ] ; g o l a y L ( :, :, 2, 2 ) = [ 0 1 1 ; 0 0 1 ; 0 0 0 ] ; s k e l = t h i n n i n g ( im, golayl, 0 ) ; im show = d o u b l e ( repmat ( im, [ 1 1 3 ] ) ) ; im show ( :, :, 2 : 3 ) = im show ( :, :, 2 : 3 ) repmat ( d o u b l e ( s k e l ), [ 1 1 2 ] ) ; s u b p l o t ( 2, 2, 2 ), imshow ( im show, [ ] ) golaye ( :, :, 1, 1 ) = [ 0 0 0 ; 0 1 0 ; 0 0 0 ] ; golaye ( :, :, 2, 1 ) = [ 1 1 1 ; 1 0 1 ; 1 0 0 ] ; golaye ( :, :, 1, 2 ) = [ 0 0 0 ; 0 1 0 ; 0 1 0 ] ; golaye ( :, :, 2, 2 ) = [ 1 1 1 ; 1 0 1 ; 0 0 0 ] ; s k e l = t h i n n i n g ( s k e l, golaye, 6 ) ; im show = d o u b l e ( repmat ( im, [ 1 1 3 ] ) ) ; im show ( :, :, 2 : 3 ) = im show ( :, :, 2 : 3 ) repmat ( d o u b l e ( s k e l ), [ 1 1 2 ] ) ; s u b p l o t ( 2, 2, 3 ), imshow ( im show, [ ] ) s k e l = t h i n n i n g ( s k e l, golaye, 0 ) ; im show = d o u b l e ( repmat ( im, [ 1 1 3 ] ) ) ; im show ( :, :, 2 : 3 ) = im show ( :, :, 2 : 3 ) repmat ( d o u b l e ( s k e l ), [ 1 1 2 ] ) ; s u b p l o t ( 2, 2, 4 ), imshow ( im show, [ ] ) Sergyán (OE NIK) Morfológia 2013. szeptember 15. 37 / 55
Vékonyítás (MATLAB példa) Eredmények Lyukas kanalak Skeleton Vékonyítás (6) Vékonyítás ( ) Sergyán (OE NIK) Morfológia 2013. szeptember 15. 38 / 55
Morfológia szürkeárnyalatos képekre Ha a szerkesztőelem csak egy ponthalmaz, akkor lapostetejű szerkesztőelemről és operátorokról beszélünk Ha a szerkesztőelemhez tartozó pontoknak értéke is van, a szerkesztőelem és a művelet nem-lapostetejű Sergyán (OE NIK) Morfológia 2013. szeptember 15. 39 / 55
Dilatáció és erózió szürkeárnyalatos képekre Legyen A = [a(i, j)] egy szürkeárnyalatos kép Jelölje a lapostetejű S szerkesztőelem tartományát D S B = A S = [b(i, j)] dilatáció b(i, j) = max {a(i u, j v)} (u,v) D S C = A S = [c(i, j)] erózió c(i, j) = min (u,v) D S {a(i + u, j + v)} Sergyán (OE NIK) Morfológia 2013. szeptember 15. 40 / 55
Dilatáció és erózió nem-lapostetejű S = [s(u, v)] szerkesztőelemre B = A S = [b(i, j)] dilatáció b(i, j) = C = A S = [c(i, j)] erózió c(i, j) = max {a(i u, j v) + s(u, v)} (u,v) D S min (u,v) D S {a(i + u, j + v) s(u, v)} Sergyán (OE NIK) Morfológia 2013. szeptember 15. 41 / 55
Kapcsolat a dilatáció és az erózió között A S = (A C Ŝ) C, ahol A C = [a C (i, j)] és Ŝ = [ŝ(u, v)], valamint a C (i, j) = a(i, j) és ŝ(u, v) = s( u, v) Sergyán (OE NIK) Morfológia 2013. szeptember 15. 42 / 55
Dilatáció és erózió szürkeárnyalatos képekre Forrás: Palágyi Kálmán Képfeldolgozás haladóknak Sergyán (OE NIK) Morfológia 2013. szeptember 15. 43 / 55
Erózió (MATLAB példa) Kód im = imread ( rand. png ) ; i m e r o d e = imerode ( im, s t r e l ( d i s k, 5 ) ) ; s ubplot ( 1, 2, 1 ), imshow ( im, [ 0 2 5 5 ] ), colormap j e t s ubplot ( 1, 2, 2 ), imshow ( im, [ 0 2 5 5 ] ), colormap j e t Eredemények Eredeti kép Erózió eredménye Sergyán (OE NIK) Morfológia 2013. szeptember 15. 44 / 55
Nyitás, zárás és morfológiai szűrés szürkeárnyalatos képek esetén Nyitás A S = (A S) S Zárás A S = (A S) S Morfológiai szűrés MFilter(A, S) = (A S) S Sergyán (OE NIK) Morfológia 2013. szeptember 15. 45 / 55
Nyita s, za ra s e s morfolo giai szu re s Forra s: Pala gyi Ka lma n Ke pfeldolgoza s halado knak Sergya n (OE NIK) Morfolo gia 2013. szeptember 15. 46 / 55
Nyitás (MATLAB példa) Kód im = imread ( rand. png ) ; i m e r o d e = imerode ( im, s t r e l ( d i s k, 5 ) ) ; im open = imopen ( im, s t r e l ( d i s k, 5 ) ) ; s ubplot ( 1, 3, 1 ), imshow ( im, [ 0 2 5 5 ] ), colormap j e t s ubplot ( 1, 3, 2 ), imshow ( im erode, [ 0 2 5 5 ] ), colormap j e t s ubplot ( 1, 3, 3 ), imshow ( im open, [ 0 2 5 5 ] ), colormap j e t Eredemények Eredeti kép Erózió eredménye Nyitás eredménye Sergyán (OE NIK) Morfológia 2013. szeptember 15. 47 / 55
Nyitás és zárás tulajdonságai Vezessük be a relációt az alábbi módon: Az A 1 = [a 1 (i, j)] m 1 n 1 -es és az A 2 = [a 2 (i, j)] m 2 n 2 -es képekre A 1 A 2, ha m 1 m 2, n 1 n 2 és a 1 (i, j) a 2 (i, j), ahol i = 1,..., m 1 és j = 1,..., n 1. Tulajdonságok 1 A S = (A C Ŝ) C és A S = (A C Ŝ) C vagyis a nyitás és a zárás egymás duálisai 2 A S A és A A S, azaz a nyitás sötétít, a zárás pedig világosít 3 Ha A B, akkor A S B S és A S B S, tehát mindkét művelet monoton 4 (A S) S) = A S és (A S) S = A S, vagyis mindkét művelet idempotens Sergyán (OE NIK) Morfológia 2013. szeptember 15. 48 / 55
További négy művelet Morfológiai gradiens Grad(A, S) = (A S) (A S) Morfológiai Laplace-transzformáció Laplace(A, S) = (A S) + (A S) 2 A Top-hat transzformáció TopHat(A, S) = A (A S) Well-hat transzformáció WellHat(A, S) = (A S) A Sergyán (OE NIK) Morfológia 2013. szeptember 15. 49 / 55
Morfológiai gradiens és Laplace-transzformáció Forrás: Palágyi Kálmán Képfeldolgozás haladóknak Sergyán (OE NIK) Morfológia 2013. szeptember 15. 50 / 55
Top-hat és well-hat transzformáció Forrás: Palágyi Kálmán Képfeldolgozás haladóknak Sergyán (OE NIK) Morfológia 2013. szeptember 15. 51 / 55
Top-hat (MATLAB példa) MATLAB függvény function im out = tophat ( im, e l ) % im I n p u t image % e l S t r u c t u r i n g element g e n e r a t e d by the % f u n c t i o n s t r e l % im out Top hat im out = imerode ( im, e l ) ; %e r o s i o n im out = i m d i l a t e ( im out, e l ) ; %opening im out = im im out ; % top hat Sergyán (OE NIK) Morfológia 2013. szeptember 15. 52 / 55
Top-hat (MATLAB példa) Kód im = imread ( rand. png ) ; i m e r o d e = imerode ( im, s t r e l ( d i s k, 5 ) ) ; im open = imopen ( im, s t r e l ( d i s k, 5 ) ) ; s ubplot ( 2, 3, 1 ), imshow ( im, [ 0 2 5 5 ] ), colormap j e t s ubplot ( 2, 3, 2 ), imshow ( im erode, [ 0 2 5 5 ] ), colormap j e t s ubplot ( 2, 3, 3 ), imshow ( im open, [ 0 2 5 5 ] ), colormap j e t i m t o p h a t 5 = t o p h a t ( im, s t r e l ( d i s k, 5 ) ) ; s ubplot ( 2, 3, 4 ), imshow ( im tophat5, [ 0 2 5 5 ] ), colormap j e t i m t o p h a t 1 0 = t o p h a t ( im, s t r e l ( d i s k, 1 0 ) ) ; s ubplot ( 2, 3, 5 ), imshow ( im tophat10, [ 0 2 5 5 ] ), colormap j e t i m t o p h a t 2 0 = t o p h a t ( im, s t r e l ( d i s k, 2 0 ) ) ; s ubplot ( 2, 3, 6 ), imshow ( im tophat20, [ 0 2 5 5 ] ), colormap j e t Sergyán (OE NIK) Morfológia 2013. szeptember 15. 53 / 55
Top-hat (MATLAB példa) Eredemények Eredeti kép Erózió eredménye Nyitás eredménye Top-hat eredménye (disk 5) Top-hat eredménye (disk 10) Top-hat eredménye (disk 20) Sergyán (OE NIK) Morfológia 2013. szeptember 15. 54 / 55
Felhasznált irodalom Palágyi Kálmán: Képfeldolgozás haladóknak. Typotex Kiadó, 2011 Tomas Svoboda, Jan Kybic, Vaclav Hlavac: Image Processing, Analysis, and Machine Vision A MATLAB Companion. Thomson, 2008 Sergyán (OE NIK) Morfológia 2013. szeptember 15. 55 / 55