Вы находитесь на странице: 1из 32

Image Processing

Segmentation
1. Process of partitioning a digital image into multiple segments (sets of pixels). Clustering pixels into salient image regions, i.e., regions corresponding to individual surfaces, objects, or natural parts of objects.

2.

Image Processing

Segmentation
3. Used to locate objects and boundaries (lines, curves, etc.) in images. Process of assigning a label to every pixel in an image such that pixels with the same label share certain visual characteristics.

4.

Image Processing

Segmentation
Two of the most common techniques:

thresholding
and

edge finding

Image Processing

Segmentation
Two of the most common techniques:

edge finding

thresholding

Image Processing

B. Detection of discontinuities
The original image: The objects in image:

Three basic types of gray-level discontinuities in a digital image: points, lines. edges.

Image Processing

The common way


run a mask through the image

R=

+ +

f(x-1, y-1) * M1 + f(x, y-1) * M2 + f(x+1, y-1) * M3 f(x-1, y) * M4 + f(x, y) * M5 + f(x+1, y) * M6 f(x-1, y+1)* M7 + f(x, y+1)* M8 + f(x+1, y+1)* M9

Image Processing

The common way


run a mask through the image

R=

+ +

f(x-1, y-1) * M1 + f(x, y-1) * M2 + f(x+1, y-1) * M3 f(x-1, y) * M4 + f(x, y) * M5 + f(x+1, y) * M6 f(x-1, y+1)* M7 + f(x, y+1)* M8 + f(x+1, y+1)* M9

Select some threshold . If |R(x,y)| then (x,y) to belong to object (background).

Image Processing

Example

a) Original and segmented images: a) Mask H8 b) Threshold = 2 If R(x,y) 2 Then g(x,y) = 1 Else g(x,y) = 0

b)

H8=

Image Processing

Line detection
A masks are usualy used for detection of isolated points in an image are:

Image Processing

Example of line detection

The original I image and segmented image Io with horizotal mask

Image Processing

Example of line detection

The original I image and segmented image I45 with 45o mask

Image Processing

Example of line detection

The original I image and segmented image Iv with vertical mask

Image Processing

Example of line detection

The original I image and segmented image I135 with 135o mask

Image Processing

Example of line detection

The original I image and segmented image I8 with H8 mask

Image Processing

Formula:
Set (x,y): R=0 for k=1 to 3 for q=1 to 3 R = R + f(x+k-2,y+q-2)*M(k,q) If R Then g(x,y) = 255 (object) Else g(x,y) = 0 (non-object) 1 x ImageWidth 1 y ImageHeight

Image Processing

Egde detection:

Image Processing

Egde detection:

Image Processing

Gradient-based procedure:

Image Processing

Gradient-based procedure:
The function f(x) is defined as horizontal gray-level of the image.

The first derivative f(x) is positive at the point of transition into and out of the ramp as moving from left to right along the profile.

Image Processing

Gradient-based procedure:

A point M is being an edge point if its two-dimention first order derivative is greater than a specified threshold.

Image Processing

Gradient-based procedure:
If using the secondderivative to define the edge points in an image as the zero crossing of its second derivative.

Image Processing

Gradient-based procedure:
The signs of second derivative can be used to determine an edge pixel lies on the dark or light side of an edge

Image Processing

Gradient-based procedure:
The zero crossing property of the second derivative is quite useful for locating the centers of thick edges.

Image Processing

Gradient-based procedure:

The first is gradient vector of an image f(x, y), and The second is quantity (magnitude) of gradient vector

Image Processing
The Prewitt gradient vector for detecting x-direction (ydirection) and the Prewitt gradient vectors for detecting diagonal edges:
-1 -1 -1 -1 -1 -1
0

1 1 1

Gx = (W7 + W8 + W9) (W1 + W2 + W3) Gy = (W3 + W6 + W9) (W1 + W4 + W7)

Gx = (W2 + W3 + W6) (W4 + W7 + W8) Gy = (W6 + W8 + W9) (W1 + W2 + W4)

-1

-1

-1
-1

-1

1
1

-1

Image Processing
The general formula
for i = 2 to Height-1 for j = 2 to Width-1 { t1 = 0 t2 = 0 for p = 1 to 3 for q = 1 to 3 { t1 = t1 + G1[p, q] * f[i+p-2, j+q-2] t2 = t2 + G2[p, q] * f[i+p-2, j+q-2]} ts = Abs(t1) + Abs(t2) if ts > then Q[i,j] = 1 else Q[i,j] = 0 } }

Image Processing
Example
For the window W from image I, caculating the value R(3,3) = |Dx*W| + |Dy*W| = |-6+12| + |-6+12| = 12 For all pixels of I, except boundary of I, we have matrix R: 1 1 1 1 1 1 3 3 1 1 1 1

1
3 1 1

1
3 1 1

1
3 1 1

3
3 3 3

1
3 1 1

1
3 1 1

0 8 0 8

8 12 4 12

0 4 0 4

8 12 4 12 If using threshold at 10: 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 1

Image Processing
The Prewitt gradient vector for detecting x-direction (ydirection) and the Prewitt gradient vectors for detecting diagonal edges:

Image Processing The Sobel gradient vector for detecting xdirection and y-direction edges:
Gx = (W7 + 2W8 + W9) (W1 + 2W2 + W3) Gy = (W3 + 2W6 + W9 ) (W1 + 2W4 + W7)
-1 -2 -1 -1
-2 -1
0

1
2 1

The Sobel gradient vector for detecting diagonal edges:


G1= (W2 + 2W3 + W6 ) (W4 + 2W7 + W8) G2= (W6 + 2W9 + W8 ) (W2 + 2W1 + W4)

-2

-1

-1

-1

-2

-1

Image Processing Examples of Sobel filter

Image Processing

Second-order derivative: The Laplacian


2 f f f x 2 y 2
2 2

0 -1 0

-1 4 -1

0 -1 0

-1 -1 -1

-1 8 -1

-1 -1 -1

Image Processing

Second-order derivative: The Laplacian


0 0 -1 0 0 0 -1 -2 -1 0 -1 -2 0 -1 0 0 -1 0 0

16 -2 -2 -1 -1 0

The Laplacian is not used in its original form for edge detection (because of sensitive to noise). The Laplacian is combined with smoothing as a precursor to finding edges via zero-crossing.

Вам также может понравиться