Erosion: Erosion is used for shrinking of element A by using element B One of the simplest uses of erosion is for eliminating irrelevant details from a binary image. Erosion:
Erosion
Typical Uses of Erosion Removes isolated noisy pixels. Smoothes object boundary(removes spiky edges). Removes the outer layer of object pixels: - Object becomes slightly smaller. - Sets contour pixels of object to background value
Erosion Example
Erosion explained pixel by pixel • • • B
Structuring Element in Erosion Example
How It Works? During erosion, a pixel is turned on at the image pixel under the structuring element origin only when the pixels of the structuring element match the pixels in the image Both ON and OFF pixels should match. This example erodes regions horizontally from the right.
Structuring Element in Erosion Example
Structuring Element in Erosion Example
Structuring Element in Erosion Example
Structuring Element in Erosion Example
Structuring Element in Erosion Example
Structuring Element in Erosion Example
Mathematical Definition of Erosion Erosion is the morphological dual to dilation. It combines two sets using the vector subtraction of set elements. Let denotes the erosion of A by B
Erosion explained pixel by pixel • • • (1,1) – (0,0)= (1,1) (1,2) – (0,0)= (1,2) (1,3) – (0,0)= (1,3) (1,4) – (0,0)= (1,4) (0,4) – (0,0)= (0,4) (2,4) – (0,0)= (2,4) (3,4) – (0,0)= (3,4) (4,4) – (0,0)= (4,4) (1,1) – (1,0)= (0,1) (1,2) – (1,0)= (0,2) (1,3) – (1,0)= (0,3) (1,4) – (1,0)= (0,4) (0,4) – (1,0)= (-1,4) (2,4) – (1,0)= (1,4) (3,4) – (1,0)= (2,4) (4,4) – (1,0)= (3,4)
Properties of Erosion Erosion is not commutative! Linearity Decomposition of structuring element Erosion is not commutative!
Erosion
In MATLAB Codes Erosion image: strel:This function creates amorphological structuring element. SE=strel(‘shape’,parameters) Erosion image: imerode: This function erosion the image. I2=imerode(‘image’,SE) shape parameters ‘disk’ R ‘line’ Len,deg ‘square’ w ‘rectangle’ [m n]
Codes A = imread(‘Image.tif'); figure,imshow(A); se = strel('disk',3); A2 = imerode(A, se); figure,imshow(A2); se = strel('disk',5); A3 = imerode(A, se); figure,imshow(A3); se = strel('disk',10); A4 = imerode(A, se); figure,imshow(A4);
Example of Erosions with various sizes of structuring elements Pablo Picasso, Pass with the Cape, 1960
Erosion and Dilation summary
Boundary Extraction
Boundary Extraction First, erode A by B, then make set difference between A and the erosion The thickness of the contour depends on the size of constructing object – B
Boundary Extraction
Edge detection original Dilate Dilate - original
Opening & Closing Opening and Closing are two important operators from mathematical morphology They are both derived from the fundamental operations of erosion and dilation They are normally applied to binary images
OPENING Opening of A by B, is simply erosion of A by B, followed by dilation of the result by B. We use opening for: Smoothes object boundaries Eliminates noise (isolated pixels) Maintains object size
OPENING Opening is defined as an erosion followed by a dilation using the same structuring element The basic effect of an opening is similar to erosion but Less destructive than erosion Does not significantly change an object’s size
Opening Example Original What combination of erosion and dilation gives: cleaned binary image object is the same size as in original Original
Opening Example Cont Original Erode Dilate Erode original image. Dilate eroded image. Smoothes object boundaries, eliminates noise (isolated pixels) and maintains object size. Original Erode Dilate
CLOSING Closing of A by B, is dilation followed by erosion (opposite to opening). We use Closing for: Smoothes object boundaries Eliminates noise (small holes), fills gaps in contours and close up cracks in objects. Maintains object size.
Close Dilation followed by erosion Serves to close up cracks in objects and holes due to pepper noise Does not significantly change object size
More examples of Closing What combination of erosion and dilation gives: cleaned binary image object is the same size as in original Original
More examples of Closing cont Dilate original image. Erode dilated image. Smoothes object boundaries, eliminates noise (holes) and maintains object size. Original Dilate Erode
Open and Close Close = Dilate next Erode Open = Erode next Dilate Original image eroded dilated dilated eroded Open Close
Closing o Opening & Opening o Closing Spatial Filtering Closing o Opening & Opening o Closing
Use of opening and closing for morphological filtering
Open and Close Original image; opening; opening followed by closing
Codes f = imread('noisy-fingerprint.tif'); figure,imshow(f); se = strel('square', 3); fo = imopen(f,se); figure,imshow(fo); foc = imclose(fo,se); figure,imshow(foc);
Possible problems with Morphological Operators Erosion and dilation clean image but leave objects either smaller or larger than their original size. Opening and closing perform same functions as erosion and dilation but object size remains the same.