1

peachpuceAI and Robotics

Nov 6, 2013 (3 years and 7 months ago)

66 views







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:

thresholding

edge

finding







Image Processing

B. Detection of discontinuities

The objects
in image:

Three basic types of gray
-
level
discontinuities in a digital image:



points,


lines.


edges.

The original
image:







Image Processing

The common way


run a
mask
through
the
image


R =


f
(
x
-
1,
y
-
1) *
M
1

+
f
(
x
,
y
-
1) *
M
2

+
f
(
x
+1,
y
-
1) *
M
3


+

f
(
x
-
1,
y
) *
M
4

+
f
(
x
,
y
) *
M
5

+
f
(
x
+1,
y
) *
M
6


+

f
(
x
-
1,
y
+1)*
M
7

+
f
(
x
,
y
+1)*
M
8

+
f
(
x
+1,
y
+1)*
M
9







Image Processing

The common way


run a
mask
through
the
image


R =


f
(
x
-
1,
y
-
1) *
M
1

+
f
(
x
,
y
-
1) *
M
2

+
f
(
x
+1,
y
-
1) *
M
3


+

f
(
x
-
1,
y
) *
M
4

+
f
(
x
,
y
) *
M
5

+
f
(
x
+1,
y
) *
M
6


+

f
(
x
-
1,
y
+1)*
M
7

+
f
(
x
,
y
+1)*
M
8

+
f
(
x
+1,
y
+1)*
M
9


Select some threshold

.

If |R(x,y)|




then (x,y) to belong to object (background).








Image Processing

Example


a)

b)

Original and segmented images:

a)
Mask H
8

b)
Threshold = 2


If R(x,y)


2

Then g(x,y) = 1




Else g(x,y) = 0


H
8
=







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 I
o

with horizotal mask







Image Processing

Example of line detection


The original I image and segmented image I
45

with 45
o

mask







Image Processing

Example of line detection


The original I image and segmented image I
v

with vertical mask







Image Processing

Example of line detection


The original I image and segmented image I
135

with 135
o

mask







Image Processing

Example of line detection


The original I image and segmented image I
8

with H
8

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




周敮木砬礩㴠㈵=

(潢橥捴)




E汳攠l木砬礩㴠=

(湯n
-
潢橥捴)








䥭慧I坩摴







䥭慧I䡥楧桴







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
second
-
derivative 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 (y
-
direction) and


the Prewitt gradient vectors for detecting diagonal edges:


-
1

-
1

-
1

-
1

0

1

0

0

0

-
1

0

1

1

1

1

-
1

0

1

0

1

1

-
1

-
1

0

-
1

0

1

-
1

0

1

-
1

-
1

0

0

1

1

G
x

= (W
2
+ W
3

+ W
6
)


(W
4

+ W
7

+ W
8
)

G
y

= (W
6

+ W
8

+ W
9
)


(W
1

+ W
2

+ W
4
)

G
x

= (W
7
+ W
8

+ W
9
)


(W
1

+ W
2

+ W
3
)

G
y

= (W
3

+ W
6

+ W
9
)


(W
1

+ W
4

+ W
7
)







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 + G
1
[p, q] * f[i+p
-
2, j+q
-
2]






t2 = t2 + G
2
[p, q] * f[i+p
-
2, j+q
-
2]}






ts = Abs(t1) + Abs(t2)






if ts >

†

瑨敮

Q[椬i]㴠=







敬獥

Q[椬i]㴠=





}



}







Image Processing

Example


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

W

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

0

0

0

0

0

1

0

1

0

0

0

0

0

1

0

1

If using
threshold at
10:







Image Processing


The Prewitt gradient vector for detecting x
-
direction (y
-
direction) and


the Prewitt gradient vectors for detecting diagonal edges:








Image Processing


The Sobel gradient vector for detecting x
-
direction and y
-
direction edges:


G
1
= (W
2

+ 2W
3

+ W
6

)


(W
4

+ 2W
7

+ W
8
)

G
2
= (W
6

+ 2W
9

+ W
8

)


(W
2

+ 2W
1

+ W
4
)

G
x

= (W
7

+ 2W
8

+ W
9
)


(W
1

+ 2W
2

+ W
3
)

G
y

= (W
3

+ 2W
6

+ W
9

)


(W
1

+ 2W
4

+ W
7
)

-
1

-
2

-
1

-
1

0

1

0

0

0

-
2

0

2

1

2

1

-
1

0

1

The Sobel gradient vector
for detecting diagonal
edges
:


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


2
2
2
2
2
y
f
x
f
f







0

-
1

0

-
1

-
1

-
1

-
1

4

-
1

-
1

8

-
1

0

-
1

0

-
1

-
1

-
1







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.