Morphological Image Processing Department of Computer Engineering, CMU Morphological Image Processing C. Andrés Méndez April, 2013
Where to find the presentations? http://profs.sci.univr.it/~mendezguerrero
Department of Computer Engineering, CMU Introduction In many areas of knowledge Morphology deals with form and structure (biology, linguistics, social studies, etc) Mathematical Morphology deals with set theory Sets in Mathematical Morphology represents objects in an Image For Binary Images it is an 2-D integer space where sets represents Black pixels (White pixels) Gray Scale images are represented as 3-D integer space where Z axis refers to gray level value.
Mathematic Morphology Department of Computer Engineering, CMU Mathematic Morphology Used to extract image components that are useful in the representation and description of region shape, such as boundaries extraction skeletons convex hull morphological filtering thinning pruning Definiamo Convex Hull di un oggetto la più piccola regione che contiene quell'oggetto e i cui punti sono unibili con segmenti contenuti nella regione stessa: • Gli operatori della morfologia binaria sono operatori fra insiemi definiti a partiredell’immagine binaria.• L’immagine binaria, I, viene vista come un sottinsieme dell’insieme 2D dei numeriinteri (E2). Ogni punto dell’immagine pu`o essere rappresentato da un vettorecostituito da una coppia di coordinate intere definite rispetto ad un’origine O (postausualmente nel punto in alto a sinistra dell’immagine).• Data I, `e possibile definireA : l’insieme dei punti di I marcati come oggetto (“1”)Ac : l’insieme dei punti di I marcati come sfondo (“0”).
Mathematic Morphology mathematical framework used for: pre-processing noise filtering, shape simplification, ... enhancing object structure skeletonization, convex hull... segmentation watershed,… quantitative description area, perimeter, ...
Z2 and Z3 set in mathematic morphology represent objects in an image binary image (0 = white, 1 = black) : the element of the set is the coordinates (x,y) of pixel belong to the object Z2 gray-scaled image : the element of the set is the coordinates (x,y) of pixel belong to the object and the gray levels Z3 Y axis Y axis X axis Z axis X axis
Basic Set Operators Set operators Denotations A Subset B A B Union of A and B C= A B Intersection of A and B C = A B Disjoint A B = Complement of A Ac ={ w | w A} Difference of A and B A-B = {w | w A, w B } Reflection of A Â = { w | w = -a for a A} Translation of set A by point z(z1,z2) (A)z = { c | c = a + z, for a A}
Basic Set Theory
Reflection and Translation Department of Computer Engineering, CMU Reflection and Translation Traslazione di A di una qtà z Riflessione di B
Logic Operations
Department of Computer Engineering, CMU Example
Structuring element (SE) Department of Computer Engineering, CMU Structuring element (SE) small set to probe the image under study for each SE, define origo shape and size must be adapted to geometric properties for the objects • Gli operatori morfologici manipolano la forma degli oggetti dell’immagine binaria secondo la “forma elementare” definita dall’elemento strutturante.
Basic idea in parallel for each pixel in binary image: check if SE is ”satisfied” output pixel is set to 0 or 1 depending on used operation
How to describe SE Can be described in many different ways information needed: position of origo for SE positions of elements belonging to SE
Five Binary Morphological Operations Erosion Dilation Opening Closing Hit-or-Miss transform
Basic morphological operations Erosion Dilation combine to keep general shape but smooth with respect to Opening object Closening background
Erosion Does the structuring element fit the set? Erosion of a set A by structuring element B: all z in A such that B is in A when origin of B=z shrink the object
Erosion
Department of Computer Engineering, CMU Erosion Properties L’erosione non è commutativa L’erosione è associativa quando l’elemento strutturante è decomponibile intermini di dilatazioni: Se l’elemento strutturante contiene l’origine (O ∈ B) l’erosione è una trasformazione antiestensiva: l’insieme eroso è contenuto nell’insieme L’erosione è una trasformazione crescente L’associativi`a dell’erosione (“chain rule”) consente di decomporre l’elemento strutturantein elementi di taglia inferiore ed eseguire l’operazione pi`u velocemente medianteuna successione di erosioni per gli elementi risultanti dalla decomposizione.• Generalmente gli elementi strutturanti usati per l’erosione contengono l’origine esono simmetrici rispetto ad essa. L’effetto della trasformazione `e allora quello dicontrarre, rimpicciolire isotropicamente le regioni dell’immagine binaria che corrispondonoagli oggetti.• L’impiego pi`u comune di questo tipo di operazioni `e il miglioramento della qualit`adelle immagini ottenute dalla binarizazione nel caso in cui regioni che dovrebberoessere distinte risultano erroneamente connesse.• L’elemento strutturante di gran lunga pi`u usato `e il quadrato. Inoltre, sfruttandola propriet`a associativa, si implementa tipicamente solo l’elemento base 3x3. Glioperatori di taglia maggiore vengono implementati mediante successioni di erosioniper l’elemento base: con n erosioni per l’elemento base si ottiene un risultatoequivalente all’erosione per un quadrato (2n+ 1) x (2n+ 1).• L’implementazione dell’erosione per un quadrato 3x3 consiste semplicemente nelrimuovere dall’oggetto tutti i punti che hanno almeno un vicino ( nel senso della 8-connettivit`a ) appartenente allo sfondo. In pratica, i contorni dell’oggetto vengonocontratti di un pixel in tutte le direzioni.
Erosion
Erosion
Erosion Consideriamo ora l’immagine binaria seguente: A causa del valore troppo elevato della soglia alcuni oggetti che dovrebbero essere separati risultano connessi. Ciò può introdurre degli errori nelle elaborazioni successive (ad esempio, nel conteggio del numero di oggetti presenti nell’immagine).
Department of Computer Engineering, CMU Erosion Epossibile separare gli oggetti erroneamente connessi eseguendo 5 passi di erosione conun quadrato 3x3:• Anche l’erosione pu`o essere utilizzata per estrarre i contorni in un’immagine binaria.Nella figura seguente i contorni sono stati estratti erodendo con un quadrato 3x3ed eseguendo la sottrazione fra l’immagine originaria ed il risultato dell’erosione.
Dilation Does the structuring element hit the set? Dilation of a set A by structuring element B: all z in A such that B hits A when origin of B=z grow the object
Dilation
Department of Computer Engineering, CMU Dilation Properties La dilatazione è commutativa A ⊕ B = B ⊕ A La dilatazione è associativa A ⊕ (B ⊕ C) = (A ⊕ B) ⊕ C Se l’elemento strutturante contiene l’origine (O ∈ B) la dilatazione è una trasformazione estensiva: l’insieme originario è contenuto nell’insieme dilatato (A ⊆ A ⊕ B ) La dilatazione è una trasformazione crescente A ⊆ C ⇒ A ⊕ B ⊆ C ⊕ B • L’associativi`a della dilatazione (“chain rule”) consente di decomporre l’elementostrutturante in elementi di taglia inferiore ed eseguire l’operazione pi`u velocementemediante una successione di dilatazioni per gli elementi risultanti dalla decomposizione.• Generalmente gli elementi strutturanti usati per la dilatazione contengono l’originee sono simmetrici rispetto ad essa. L’effetto della trasformazione `e allora quello diespandere, dilatare isotropicamente le regioni dell’immagine binaria che corrispondonoagli oggetti.• L’impiego pi`u comune di questo tipo di operazioni `e il miglioramento della qualit`adelle immagini ottenute dalla binarizazione nei casi in cui le regioni degli oggettipresentano lacune e/o parti dell’oggetto che dovrebbero essere connesse risultanoframmentate.• L’elemento strutturante di gran lunga pi`u usato `e il quadrato. Inoltre, sfruttando lapropriet`a associativa, si implementa tipicamente solo l’elemento base 3x3. Gli operatoridi taglia maggiore vengono implementati mediante successioni di dilatazioniper l’elemento base: con n dilatazioni per l’elemento base si ottiene un risultatoequivalente alla dilatazione per un quadrato (2n+ 1) x (2n+ 1).• L’implementazione della dilatazione per un quadrato 3x3 consiste semplicementenell’aggiungere all’oggetto tutti i punti di sfondo che hanno almeno un vicino (nel senso della 8-connettivit`a ) appartenente all’oggetto. In pratica, i contornidell’oggetto vengono espansi di un pixel in tutte le direzioni.
Dilation
Dilation
Dilation Supponiamo ora di binarizzare l’immagine seguente utilizzando una soglia troppo bassa: A causa del valore troppo basso di soglia l’oggetto presenta delle lacune
Dilation : Bridging gaps
Usefulness Erosion Dilation Removal of structures of certain shape and size, given by SE Dilation Filling of holes of certain shape and size, given by SE
Combining erosion and dilation WANTED: remove structures / fill holes without affecting remaining parts SOLUTION: combine erosion and dilation (using same SE)
Erosion : eliminating irrelevant detail structuring element B = 13x13 pixels of gray level 1
Dilation: filling Infine, la dilatazione viene usata insieme agli operatori logici per eseguire operazioni morfologiche più complesse. Un esempio è l’operazione di filling, che ricostruisce le regioni associate agli oggetti (immagine binaria Io) “riempiendo” i contorni estratti mediante un edge detector. Supponendo di aver estratto i contorni (immagine binaria IB) e di conoscere almeno un pixel appartenente all’oggetto (immagine binaria X0), è possibile ricostruire l’oggetto calcolando iterativamente la relazione: dove con B si è indicato l’elemento strutturante
Dilation: filling (cont.) Quando il calcolo della relazione converge (Xn+1 = Xn) si può ottenere Io dalla relazione: Io = (Xn) OR (IB)
Relazione di dualità fra erosione e dilatazione Detto In generale vale che
Relazione di dualità fra erosione e dilatazione Se B è simmetrico quindi la dilatazione dell’oggetto è “equivalente” all’erosione dello sfondo e l’erosione dell’oggetto è “equivalente” alla dilatazione dello sfondo. Le operazioni di erosione e dilatazione per uno stesso elemento strutturante possono essere impiegate in sequenza al fine di eliminare dall’immagine binaria le parti aventi forma “diversa” da quella dell’elemento strutturante senza distorcere le parti che invece vengono mantenute.
Opening Erosion followed by dilation, denoted ∘ eliminates protrusions breaks necks smoothes contour
Opening
Opening
Closing Dilation followed by erosion, denoted • smooth contour fuse narrow breaks and long thin gulfs eliminate small holes fill gaps in the contour
Closing
Closing
Department of Computer Engineering, CMU Properties Opening AB is a subset (subimage) of A If C is a subset of D, then C B is a subset of D B (A B) B = A B Closing A is a subset (subimage) of AB If C is a subset of D, then C B is a subset of D B (A B) B = A B Note: repeated openings/closings have no effect!
Duality Opening and closing are dual with respect to complementation and reflection Possiamo sfruttare la dualità per comprendere l’effetto dell’operazione di closing. Poichè il closing dell’oggetto è “equivalente” all’opening dello sfondo, l’operatore di closing esegue il “matching” fra l’elemento strutturante (o il suo riflesso) e le parti dello sfondo, preservando quelle uguali all’elemento strutturante (o al suo riflesso) ed eliminando (cioè annettendo all’oggetto) quelle diverse. Il sostanza l’oggetto viene “dilatato” annettendo le parti dello sfondo diverse da B ( o da ).
Usefulness: open & close
Application: filtering
Hit-or-Miss Transformation ⊛ (HMT) Department of Computer Engineering, CMU Hit-or-Miss Transformation ⊛ (HMT) find location of one shape among a set of shapes ”template matching” composite SE: object part (B1) and background part (B2) does B1 fits the object while, simultaneously, B2 misses the object, i.e., fits the background? La trasformata hit-and-miss `e un operatore morfologico impiegato per individuare“features” puntuali in immagini binarie.• Dato un elemento strutturante B contenente sia punti appartenenti all’oggetto(“1”) sia punti appartenenti allo sfondo (“0”), il risultato della trasformata hitand-miss `e “1” solo nei punti in cui vi `e un match perfetto fra Bt e l’immaginebinaria.• Negli operatori morfologici precedentemente studiati (opening, closing) i puntidell’elemento strutturante che determinano l’azione svolta dall’operatore sono inrealt`a solo quelli a “1”, mentre quelli a “0” possono essere visti come condizioni diindifferenza. Viceversa, l’azione svolta dalla trasformata hit-and-miss dipende siadai punti a “1” sia dai punti a “0” dell’elemento strutturante.• La trasformata hit-and-miss pu`o essere espressa come:
Hit-or-Miss Transformation, example (1) This is a powerful method for finding shapes in images. As with all other morphological algorithms, it can be defined entirely in terms of dilation and erosion; in this case, erosion only. Suppose we wish to locate 3x3 square shapes, such as is in the centre of the following image
Hit-or-Miss Transformation, example (2) If we performed an erosion with B being the square structuring element, we would obtain the result given in the following figure The result contains two pixels, as there are exactly two places in A where B will fit. Now suppose we also erode the complement of A with a structuring element C which fits exactly around the 3x3 square. (we assume (0,0) is the centre of C)
Hit-or-Miss Transformation, example (3) If we now perform the erosion we would obtain the result The intersection of the two erosion operations would produce just one pixel at the position of the centre of the 3x3 square in A, which is just what we want. If had contained more than one square, the final result would have been single pixels at the positions of the centres of each. This combination of erosions forms the hit-or-miss transform.
Hit-or-Miss Transformation, example (4) Department of Computer Engineering, CMU Hit-or-Miss Transformation, example (4)
Hit-or-Miss Transformation, example (5) In general, if we are looking for a particular shape in an image, we design two structural elements: B1 which is the same shape, and B2 which fits around the shape. We then write B=(B1,B2) and the Hit-and-miss transform as
Boundary Extraction
Example
Region Filling
Example
Extraction of connected components
Convex hull A set A is is said to be convex if the straight line segment joining any two points in A lies entirely within A.
Thinning
Thickening
Skeletons
Skeletons
Pruning H = 3x3 structuring element of 1’s