Image Processing

Download Report

Transcript Image Processing

Image Processing
Segmentation
1.
Process of partitioning a digital
image into multiple segments (sets
of pixels).
2.
Clustering pixels into salient image
regions, i.e., regions corresponding
to individual surfaces, objects, or
natural parts of objects.
Image Processing
Segmentation
3.
Used to locate objects and
boundaries (lines, curves, etc.) in
images.
4.
Process of assigning a label to every
pixel in an image such that pixels
with the same label share certain
visual characteristics.
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
b)
a)
Original and segmented images:
a) Mask H8
H8=
b) Threshold = 2
If R(x,y)  2
Then g(x,y) = 1
Else g(x,y) = 0
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:
Gx = (W7 + W8 + W9) – (W1 + W2 + W3)
-1
-1
-1
-1
0
1
0
0
0
-1
0
1
1
1
1
-1
0
1
Gy = (W3 + W6 + W9) – (W1 + W4 + W7)
Gx = (W2 + W3 + W6) – (W4 + W7 + W8)
0
1
1
-1
-1
0
Gy = (W6 + W8 + W9) – (W1 + W2 + W4)
-1
0
1
-1
0
1
-1
-1
0
0
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:
0
8
0
8
8
12
4
12
0
4
0
4
8
12
4
12
1
1
1
3
1
1
1
1
1
3
1
1
1
1
1
3
1
1
3
3
3
3
3
3
1
1
1
3
1
1
1
1
1
3
1
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
0
1
If using
threshold at
10:
W
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)
The Sobel gradient vector
for detecting diagonal
edges:
G1= (W2 + 2W3 + W6 ) – (W4 + 2W7 + W8)
G2= (W6 + 2W9 + W8 ) – (W2 + 2W1 + W4)
-1
-2
-1
-1
0
1
0
0
0
-2
0
2
1
2
1
-1
0
1
0
1
2
-2
-1
0
-1
0
1
-1
0
1
-2
-1
0
0
1
2
Image Processing
Examples
of
Sobel
filter
Image Processing
Second-order derivative: The Laplacian
 f
 f
 f 

2
x
y 2
2
2
0
-1
0
-1
-1
-1
-1
4
-1
-1
8
-1
0
-1
0
-1
-1
-1
2
Image Processing
Second-order derivative: The Laplacian
0
0
-1
0
0
0
-1
-2
-1
0
-1
-2
16 -2
-1
0
-1
-2 -1
0
0
0
-1
0
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.