cis581 presentation morphological operations presented by: xueyan li supervised by: longin jan...

27
CIS581 Presentation CIS581 Presentation Morphological Morphological Operations Operations Presented by: Xueyan Li Supervised by: Longin Jan Lateckie

Upload: brooke-potter

Post on 02-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

CIS581 PresentationCIS581 PresentationMorphological OperationsMorphological Operations

Presented by: Xueyan Li

Supervised by: Longin Jan Lateckie

Presentation OutlinePresentation Outline

Terminology and properties of Morphology Operations Structure element Four morphological Principles Iterative Morphological Operations Matlab Programs and results images for each operation

Introduction---Introduction---Morphology OperationsMorphology Operations

Terminology

Morphology: a broad set of image processing operations that process images based on shapes.

Morphological operations apply a structuring elements to an input image, creating an output image of the same size.

Properties

Morphological operations simplify images, and quantify and preserve the main shape characteristics of objects.

Four morphological principlesFour morphological principles

Dilation Erosion Opening Closing

Relationship of four operationsRelationship of four operations

Dilation and Erosion are the basic operations, can be combined into more complex sequences.

Erosion and dilation are not invertible operations ---if an image is eroded and dilated, the original image is not re-obtained.

The combination of Erosion and dilation constitutes new operations ----opening and closing. They are the most useful morphological filtering.

Structuring elementStructuring element

Morphological operations can be customized for an application by the proper selection of the structuring element, which determines exactly how the object will be dilated or eroded.

matlab function strel() can create many kinds of structuring element:

dish-shaped, diamond-shaped, ball-shaped, squareflat linear with length LENarbitrary flat or a nonflat with the specified neighborhood

Dilation Dilation

Dilation allows objects to expand, then potentially filling in small holes and connecting disjoint object.

Performance: laying the structuring element on the image and sliding it across the image.

1) If the origin of the structuring element coincides with a ‘0’ in the image, there is no change; move to the next pixel.

2) If the origin of the structuring element coincides with a ‘1’ in the images, perform the OR logic operation on all pixels within the structuring element.

My input imagesMy input images

Matlab programming ---dilationMatlab programming ---dilation

%Read image

I = imread(‘ford.tiff');

figure('Name', 'original');

imshow(I);

%create structuring elements

% 11-by-11 square

se1 = strel('square',11);

%Apply dilation operation

figure('Name', 'Dilate');

Idilate1 = imdilate(I,se1);

%Show the result image

subplot(1,1,1), imshow(Idilate1), title('11x11 square');

original image (above)

Image after dilation (below)

Erosion Erosion

Erosion shrinks objects by etching away (eroding) their boundaries.

Performance:

1) If the origin of the structuring element coincides with a ‘0’ in the image, there is no change; move to the next pixel.

2) If the origin of the structuring element coincides with a ‘1’ in the image, and any of the ‘1’ pixels in the structuring element extend beyond the object (‘1’ pixels) in the image, then change the ‘1’ pixel in the image to a ‘0’;

Matlab programming ---erosionMatlab programming ---erosion

%Read image

I = imread(‘ford.tiff');

figure('Name', 'original');

imshow(I);

%create structuring elements

% 11-by-11 square

se1 = strel('square',11);

%Apply erosion operation

figure('Name', 'Erode');

Ierode1 = imerode(I,se1);

%Show the result image

subplot(1,1,1), imshow(Ierode1), title('11x11 square');

original image (above)

Image after erosion (below)

OpeningOpening

Opening consists of an erosion followed by a dilation and can be used to eliminate all pixels in regions that are to small to contain the structuring element.

In this case the structuring element is often called a probe, because it is probing the image looking for small objects to filter out of the image.

Matlab programming--- openingMatlab programming--- opening

%Read image

I = imread(‘ford.tiff');

figure('Name', 'original');

imshow(I);

%create structuring elements

% 11-by-11 square

se1 = strel('square',11);

%Apply the open opration

figure('Name', 'Open');

Iopen1 = imopen(I,se1);

%Show the result image

subplot(1,1,1), imshow(Iopen1), title('11x11 square');

original image (above)

Image after opening (below)

ClosingClosing

Closing consists of a dilation followed by an erosion and connects objects that are close to each other. It can be used to fill in holes and small gaps.

Matlab programming ---closingMatlab programming ---closing

%Read image

I = imread(‘ford.tiff');

figure('Name', 'original');

imshow(I);

%create structuring elements

% 11-by-11 square

se1 = strel('square',11);

%Apply close operation

figure('Name', ‘Close');

Iclose1 = imclose(I,se1);

%Show the result image

subplot(1,1,1), imshow(Iclose1), title('11x11 square');

original image (above)

Image after closing (below)

Iterative Morphological OperationsIterative Morphological Operations

We can apply one or several operations to an image iteratively.

InputImage ---(apply an operation) outputImage1

---(apply the operation again) outputImage2

…and so on…..until get your desired image

Matlab program Matlab program iterative operation of dilation (1)iterative operation of dilation (1)

Original image after 1 dilation

after 5th dilations after inf dilations

Matlab program Matlab program iterative operation of dilation (2)iterative operation of dilation (2)

Original image after 1 dilation

after 5th dilations after inf dilations

Matlab program Matlab program iterative operation of erosion (1)iterative operation of erosion (1)

Original image after 1 erosion

after 5th erosions after inf erosions

Matlab program Matlab program iterative operation of erosion (2)iterative operation of erosion (2)

Original image after 1 erosion

after 5th erosions after inf erosions

Matlab program Matlab program iterative operation of opening (1)iterative operation of opening (1)

Original image after 1 opening

after 5th openings after inf openings

Matlab program Matlab program iterative operation of opening (2)iterative operation of opening (2)

Original image after 1 opening

after 5th openings after inf openings

Matlab program Matlab program iterative operation of closing (1)iterative operation of closing (1)

Original image after 1 closing

after 5th closings after inf closnings

Matlab program Matlab program iterative operation of closing (2)iterative operation of closing (2)

Original image after 1 closing

after 5th closings after inf closings

Morphological operations Morphological operations on gray-level imageon gray-level image

Original image Image after dilation Image after erosion

My programming filesMy programming files

1. morphor.m

2. bwmorhpr.m

If you are more interested in this topic, you can try to play the source code with a updated Matlab. I’m sure a lot of fun there!

Thank you !