EE 4780 Morphological Image Processing. Bahadir K. Gunturk2 Example Two semiconductor wafer images...

Post on 18-Jan-2018

222 views 0 download

description

Bahadir K. Gunturk3 Example

Transcript of EE 4780 Morphological Image Processing. Bahadir K. Gunturk2 Example Two semiconductor wafer images...

EE 4780

Morphological Image Processing

Bahadir K. Gunturk 2

Example

Two semiconductor wafer images are given. You are supposed to determine the defects based on these images.

Bahadir K. Gunturk 3

Example

Bahadir K. Gunturk 4

Example

Absolute value of the difference

Bahadir K. Gunturk 5

Example

>> b = zeros(size(a));>> b(a>100) = 1;>> figure; imshow(b,[ ]);

Bahadir K. Gunturk 6

Example

>> c = imerode(b,ones(3,3));>> figure; imshow(c,[]);

Bahadir K. Gunturk 7

Example

>> d = imdilate(c,ones(3,3));>> figure; imshow(d,[]);

Bahadir K. Gunturk 8

Mathematical Morphology We defined an image as a two-dimensional function, f(x,y),

of discrete (or real) coordinate variables, (x,y). An alternative definition of an image can be based on the

notion that an image consists of a set of discrete (or continuous) coordinates.

Bahadir K. Gunturk 9

Morphology

B = {(0,0), (0,1), (1,0)} A = {(5,0), (3,1), (4,1), (5,1), (3,2), (4,2), (5,2)}

A binary image containing two object sets A and B

Bahadir K. Gunturk 10

Morphology Sets in morphology represent the shapes of objects in an

image. For example, the set A = {(a1,a2)} represents a point in a

binary image. The set of all black pixels in a binary image is a complete

description of the image.

Bahadir K. Gunturk 11

Mathematical Morphology Morphology is a tool for extracting and processing image

components based on shapes. Morphological techniques include filtering, thinning,

pruning.

Bahadir K. Gunturk 12

Basic Set Operations

Bahadir K. Gunturk 13

Some Basic Definitions Let A and B be sets with components a=(a1,a2) and

b=(b1,b2), respectively. The translation of A by x=(x1,x2) is

A + x = {c | c = a + x, for a A} The reflection of A is

Ar = {x | x = -a for a A} The complement of A is

Ac = {x | x A} The union of A and B is

A B = {x | x A or x B } The intersection of A and B is

A B = {x | x A and x B }

Bahadir K. Gunturk 14

Some Basic Definitions The difference of A and B is.

A – B = A Bc = {x | x A and x B} A and B are said to be disjoint or mutually exclusive if they

have no common elements. If every element of a set A is also an element of another

set B, then A is said to be a subset of B.

Bahadir K. Gunturk 15

Some Basic Definitions Dilation

A B = {x | (B + x) A } Dilation expands a region.

Bahadir K. Gunturk 16

Some Basic Definitions

Bahadir K. Gunturk 17

Some Basic Definitions

Bahadir K. Gunturk 18

Some Basic Definitions Erosion

A B = {x | (B + x) A} Erosion shrinks a region.

Bahadir K. Gunturk 19

Some Basic Definitions

Bahadir K. Gunturk 21

Some Basic Definitions Opening is erosion followed by dilation:

A B = (A B) B Opening smoothes regions, removes spurs, breaks narrow

lines.

Bahadir K. Gunturk 22

Some Basic Definitions

Bahadir K. Gunturk 23

Some Basic Definitions Closing is dilation followed by erosion:

A B = (A B) B Closing fills narrow gaps and holes in a region.

Bahadir K. Gunturk 24

Some Basic Definitions

Bahadir K. Gunturk 25

Some Basic Definitions

Bahadir K. Gunturk 26

Some Morphological Algorithms

Opening followed by closing can eliminate noise:(A B) B

Bahadir K. Gunturk 27

Some Morphological Algorithms

Bahadir K. Gunturk 28

Some Morphological Algorithms

Boundary of a set, A, can be found byA - (A B)

B

Bahadir K. Gunturk 29

Some Morphological Algorithms

A region can be filled iteratively byXk+1 = (Xk B) Ac ,

where k = 0,1,… and X0 is a point inside the region.

Bahadir K. Gunturk 30

Some Morphological Algorithms

Bahadir K. Gunturk 31

Morphological Operations

BWMORPH Perform morphological operations on binary image. BW2 = BWMORPH(BW1,OPERATION) applies a specific morphological operation to the binary image BW1. BW2 = BWMORPH(BW1,OPERATION,N) applies the operation N times. N can be Inf, in which case the operation is repeated until the image no longer changes.

OPERATION is a string that can have one of these values: 'skel' With N = Inf, remove pixels on the boundaries of objects without allowing objects to break apart 'spur' Remove end points of lines without removing small objects completely. 'fill' Fill isolated interior pixels (0's surrounded by 1's) ...

Bahadir K. Gunturk 32

Morphological OperationsBW1 = imread('circbw.tif'); BW2 = bwmorph(BW1,'skel',Inf); imshow(BW1);figure, imshow(BW2);

Bahadir K. Gunturk 33

Morphological OperationsBW1 = imread('circbw.tif'); BW2 = bwperim(BW1); imshow(BW1); figure, imshow(BW2)

Bahadir K. Gunturk 34

Morphological OperationsPixel Connectivity Connectivity defines which pixels are connected to other pixels. A set of pixels in a binary image that form a connected group is called an object or a connected component.

4-connected 8-connected

Bahadir K. Gunturk 35

Morphological Operations

X = bwlabel(BW,4); RGB = label2rgb(X, @jet, 'k'); imshow(RGB,'notruesize')

BW = [0 0 0 0 0 0 0 0; 0 1 1 0 0 1 1 1; 0 1 1 0 0 0 1 1; 0 1 1 0 0 0 0 0; 0 0 0 1 1 0 0 0; 0 0 0 1 1 0 0 0; 0 0 0 1 1 0 0 0; 0 0 0 0 0 0 0 0]; X = bwlabel(BW,4) X = 0 0 0 0 0 0 0 0 0 1 1 0 0 3 3 3 0 1 1 0 0 0 3 3 0 1 1 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 2 2 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0

Bahadir K. Gunturk 36

Some Morphological Algorithms

Application example: Using connected components to detect foreign objects in packaged food.There are four objects with significant size!

Bahadir K. Gunturk 37

Some Morphological Algorithms

Thinning: Thin regions iteratively; retain connections and endpoints.

Skeletons: Reduces regions to lines of one pixel thick; preserves shape.

Convex hull: Follows outline of a region except for concavities.

Pruning: Removes small branches.

Bahadir K. Gunturk 38

Summary

Bahadir K. Gunturk 39

Summary

Bahadir K. Gunturk 40

Summary

Bahadir K. Gunturk 41

Summary

Bahadir K. Gunturk 42

Extensions to Gray-Scale ImagesDilation

Bahadir K. Gunturk 43

Extensions to Gray-Scale ImagesDilation

Take the maximum within the window.

Bahadir K. Gunturk 44

Extensions to Gray-Scale ImagesErosion

Bahadir K. Gunturk 45

Extensions to Gray-Scale Images

Dilation: Makes image brighter Reduces or eliminates dark details

Erosion: Makes image darker Reduces or eliminates bright details

Bahadir K. Gunturk 46

Extensions to Gray-Scale Images

Bahadir K. Gunturk 47

Extensions to Gray-Scale Images

Opening: Narrow bright areas are reduced.Closing: Narrow dark areas are reduced.

Bahadir K. Gunturk 49

Extensions to Gray-Scale Images

Bahadir K. Gunturk 50

Application Example

Bahadir K. Gunturk 51

Application Example-Segmentation

Bahadir K. Gunturk 52

Application Example-Granulometry