Morfológia. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia Intézet

Hasonló dokumentumok
Morfológia. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia Intézet

Pontműveletek. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar február 20.

3. Szűrés képtérben. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

KÉPFELDOLGOZÁS. 10. gyakorlat: Morfológiai műveletek, alakjellemzők


1. előadás: Halmazelmélet, számfogalom, teljes

Sergyán Szabolcs szeptember 21.

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

Matematikai logika és halmazelmélet

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

Egyszerű programozási tételek

Diszkrét matematika 1. középszint

Összetett programozási tételek

Képfeldolgozás. 1. el adás. A képfeldolgozás m veletei. Mechatronikai mérnök szak BME, 2008

DISZKRÉT MATEMATIKA: STRUKTÚRÁK Előadáson mutatott példa: Bércesné Novák Ágnes

5. A kiterjesztési elv, nyelvi változók

Dr. Vincze Szilvia;

1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata.

Konjugált gradiens módszer

A valós számok halmaza

Nagy Gábor compalg.inf.elte.hu/ nagy

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

FÜGGVÉNYEK TULAJDONSÁGAI, JELLEMZÉSI SZEMPONTJAI

Valós függvények tulajdonságai és határérték-számítása

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.








2014. szeptember 24. és 26. Dr. Vincze Szilvia

Jelek és rendszerek MEMO_03. Pletl. Belépő jelek. Jelek deriváltja MEMO_03

Sarokba a bástyát! = nim

Diszkrét matematika II., 8. előadás. Vektorterek

Függvény fogalma, jelölések 15

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

Hraskó András, Surányi László: spec.mat szakkör Tartotta: Hraskó András. 1. alkalom

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

17. előadás: Vektorok a térben

GPU Lab. 14. fejezet. OpenCL textúra használat. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

Metrikus terek, többváltozós függvények

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

1. GONDOLKODÁSI MÓDSZEREK, HALMAZOK, KOMBINATORIKA, GRÁFOK

ÍRÁSBELI BELSŐ VIZSGA MATEMATIKA 8. évfolyam reál tagozat Az írásbeli vizsga gyakorlati és elméleti feladatai a következő témakörökből származnak.

Algoritmusok, adatszerkezetek, objektumok

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Képfeldolgozás jól párhuzamosítható

BOOLE ALGEBRA Logika: A konjunkció és diszjunkció tulajdonságai

Függvények Megoldások

Halmazok, intervallumok

1. Algebrai alapok: Melyek műveletek az alábbiak közül?

2. tétel Egész számok - Műveletek egész számokkal. feleletvázlat

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

MATE-INFO UBB verseny, március 25. MATEMATIKA írásbeli vizsga

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Programozás I. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 10.

KÉPI ADATBÁZISOK SZAKIRÁNY

Diszkrét matematika I.

A matematika nyelvéről bevezetés

Képfeldolgozáson alapuló orvosi diagnosztikai eljárások kidolgozása

Diszkrét matematika I.

4. Szűrés frekvenciatérben

HALMAZELMÉLET feladatsor 1.

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Diszkrét matematika I.

Struktúra nélküli adatszerkezetek

2017/2018. Matematika 9.K

2011. szeptember 14. Dr. Vincze Szilvia;

Komplex számok. Komplex számok és alakjaik, számolás komplex számokkal.

1. Mondjon legalább három példát predikátumra. 4. Mikor van egy változó egy kvantor hatáskörében?

Matematika szóbeli érettségi témakörök 2017/2018-as tanév

Halmazelméleti alapfogalmak

Képek manipulálása a matematika, ami mögötte van

I. VEKTOROK, MÁTRIXOK

Nagy Gábor compalg.inf.elte.hu/ nagy

A függvényekről tanultak összefoglalása /9. évfolyam/

Termék modell. Definíció:

MATEMATIKA EMELT SZINTŰ SZÓBELI VIZSGA TÉMAKÖREI (TÉTELEK) 2012

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Geometria III.


RE 1. Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

Objektumorientált paradigma és programfejlesztés Bevezető

Objektumorientált paradigma és a programfejlesztés

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor

{ } x x x y 1. MATEMATIKAI ÖSSZEFOGLALÓ. ( ) ( ) ( ) (a szorzás eredménye:vektor) 1.1. Vektorok közötti műveletek

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

Csoportmódszer Függvények I. (rövidített változat) Kiss Károly

2012. október 9 és 11. Dr. Vincze Szilvia

MATEMATIKAI PROBLÉMAMEGOLDÓ GYAKORLAT

Diszkrét matematika 2. estis képzés

Vektorterek. =a gyakorlatokon megoldásra ajánlott

2. Pont operációk. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

A matematika nyelvér l bevezetés

Számítástudomány matematikai alapjai segédlet táv és levelező

Átírás:

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