Chương 4: Các Phương Pháp Phát Hiện Biên
84
Chương 4
CÁC PHƯƠNG PHÁP PHÁT HIỆN BIÊN
4.1 Giới thiệu biên ảnh và kỹ thuật phát hiện biên
4.1.1 Một số khái niệm
ðiểm biên: Một ñiểm ảnh ñược coi là ñiểm biên nếu có sự thay ñổi nhanh hoặc
ñột ngột về mức xám (hay màu).
Ví dụ: trong ảnh nhị phân, ñiểm ñen gọi là ñiểm biên nếu lân cận nó có ít
nhất một ñiểm trắng.
ðường biên (ñường bao: boundary): tập hợp các ñiểm biên liên tiếp tạo thành
một ñường biên hay ñường bao.
Nhìn chung về mặt toán học người ta coi ñiểm biên của ảnh là ñiểm có sự
biến ñổi ñột ngột về ñộ xám như chỉ ra trong hình 4.1 dưới ñây:
Hình 4.1 Các ñồ thị biểu diễn biên
Ý nghĩa của ñường biên trong xử lý: ý nghĩa ñầu tiên, ñường biên là một loại
ñặc trưng cục bộ tiêu biểu trong phân tích, nhận dạng ảnh. Thứ hai, người ta sử
dụng biên làm phân cách các vùng xám (màu) cách biệt. Ngược lại, người ta
cũng sử dụng các vùng ảnh ñể tìm ñường phân cách.
Chương 4: Các Phương Pháp Phát Hiện Biên
85
Tầm quan trọng của biên: ñể thấy rõ tầm quan trọng của biên, xét ví dụ sau: khi
người họa sỹ muốn vẽ một danh nhân, họa sỹ chỉ cần vẽ vài ñường phát họa mà
không cần vẽ một cách ñầy ñủ.
o Mô hình biểu diễn ñường biên theo toán học: ñiểm ảnh có sự biến ñổi mức
xám u(x) một cách ñột ngột theo hình dưới.
Hình 4.2 Các ñồ thị biểu diễn biên theo toán học
o Phát hiện biên: là một phần trong phân tích ảnh, sau khi ñã lọc ảnh (hay tiền
xử lý ảnh). Các bước của phân tích ảnh có thể mô tả theo sơ ñồ dưới ñây.
Việc dò và tìm biên ảnh là một trong các ñặc trưng thuộc khối trích chọn
ñặc trưng.
Hình 4.3 Quy trình phát hiện biên
4.1.2 Phân loại các kỹ thuật phát hiện biên
a. Phương pháp phát hiện biên trực tiếp
Tương tự như các phép toán làm trơn ảnh, khả năng lấy ñạo hàm theo tọa
ñộ các ñiểm là hết sức quan trọng. Bài toán cơ bản ở ñây là nếu chiếu theo ñúng
ñịnh nghĩa toán học về ñạo hàm thì chúng ta không thể thực hiện ñược việc lấy
ñạo hàm các ñiểm ảnh, do một ảnh số hóa không phải là một hàm liên tục a[x,y]
theo các biến tọa ñộ mà chỉ là một hàm rời rạc a[m,n] với các biến tọa ñộ
nguyên. Vì lý do ñó, những thuật toán mà chúng ta trình bày ở ñây chỉ có thể
ñược xem các xấp xỉ cho ñạo hàm thật sự theo tọa ñộ của ảnh liên tục ban ñầu.
Chương 4: Các Phương Pháp Phát Hiện Biên
86
Nói tóm lại: Phương pháp phát hiện biên trực tiếp nhằm làm nổi ñường biên
dựa vào biến thiên về giá trị ñộ sáng của ñiểm ảnh. Kỹ thuật chủ yếu là dùng kỹ
thuật ñạo hàm. Nếu lấy ñạo hàm bậc nhất của ảnh ta có phương pháp Gradient,
nếu lấy ñạo hàm bậc 2 ta có kỹ thuật Laplace.
b. Phương pháp phát hiện biên gián tiếp
Nếu bằng cách nào ñó ta phân ñược
ảnh thành các vùng thì ranh giới
giữa các vùng ñó gọi là biên. Kỹ thuật dò biên và phân vùng ảnh là hai bài toán
ñối ngẫu nhau vì dò biên ñể thực hiện phân lớp ñối tượng mà khi ñã phân lớp
xong nghĩa là ñã phân vùng ñược ảnh và ngược lại, khi ñã phân vùng ảnh ñã ñược
phân lớp thành các ñối tượng, do ñó có thể phát hiện ñược biên.
Phương pháp phát hiện biên trực tiếp tỏ ra khá hiệu quả và ít chịu ảnh
hưởng của nhiễu, song nếu sự biến thiên ñộ sáng không ñột ngột, phương pháp
tỏ ra kém hiệu quả, phương pháp phát hiện biên gián tiếp tuy khó cài ñặt, song
lại áp dụng khá tốt trong trường hợp này.
4.1.3 Quy trình phát hiện biên
o
Bước 1: Lọc nhiễu theo các phương pháp ñã tìm hiểu ở các chương trước.
o
Bước 2: Làm nổi biên sử dụng các toán tử phát hiện biên.
o
Bước 3: ðịnh vị biên. Chú ý rằng kỹ thuật nổi biên gây tác dụng phụ là gây
nhiễu làm một số biên giả xuất hiện do vậy cần loại bỏ biên giả.
o
Bước 4: Liên kết và trích chọn biên.
4.2 Phương pháp phát hiện biên trực tiếp
Phát hiện biên theo phương pháp cục bộ thường dùng một hàm biến ñổi
theo một dạng thức nào ñó ñể tìm ra ñường biên. Các hàm phát hiện biên thường
dùng như sau:
Hìn
4.2.1
Phương pháp dùng
a. Phép bi
ến ñổi dịch ch
Phép bi
ến ñổi d
s
ử ta có ảnh I kích th
và di chuy
ển theo cửa
=
⊗ ),( yxTI
Hoặc:
=
⊗ ),( yxTI
Ví d
ụ: Cho ảnh số I n
=
227
121
554
112
421
I
Th
ực hiện phép nhân
Chương 4:
Các Phươn
87
Hình 4.4
Các hàm thường dùng phát hi
ện bi
p dùng l
ọc ñặc biệt
h chuyển cửa sổ (Moving
-
Window Transfor
ñổi dịch chuyển cửa sổ (Moving
-
Window Tra
ích th
ước M × N, cửa sổ T có kích thước
m × n
eo cửa sổ T ñ
ược xác ñịnh bởi công thức:
( )
∑∑
−
=
−
=
++
=
1
0
1
0
),(*,
m
i
n
j
jiTiyixI
( )
∑∑
−
=
−
=
−−
=
1
0
1
0
),(*,
m
i
n
j
jiTiyixI
số I nh
ư sau
251
441
288
224
785
và cửa sổ
=
10
01
T
nhân chập
theo công thức:
ương Pháp Phát Hi
ện Biên
bi
ên
sformations):
w Transformations): Gi
ả
m × n khi ñó,
ảnh I dịch
(4.0)
(4.1)
Chương 4: Các Phương Pháp Phát Hiện Biên
88
( ) ( ) ( ) ( )
)1,1(*1,1)0,0(*,),(*,,
1
0
1
0
TyxITyxIjiTiyixIyxTI
i j
+++=++=⊗
∑∑
= =
(
)
(
)
1,1,
+
+
+
=
yxIyxI
Nếu:
( )
∑∑
−
=
−
=
++=⊗
1
0
1
0
),(*,),(
m
i
n
j
jiTiyixIyxTI
Thì:
=⊗
******
*66243
*1212666
*412967
*107832
TI
Hay:
( )
∑∑
−
=
−
=
−−=⊗
1
0
1
0
),(*,),(
m
i
n
j
jiTiyixIyxTI
Thì:
=⊗
66243*
1212666*
412967*
107832*
******
TI
Có ba cách tính giá trị dịch và di chuyển:
1.
Bằng cách dịch và di chuyển cửa sổ như ñã xét ở trên.
2.
Cộng – Nhân – Dịch .
3.
Biến ñổi Fourier.
Hình 4.5
b. Phương pháp d
ịch v
Sử dụng ph
ươn
copy m
ột lần trong m
chuyển ñi trên
ảnh g
nạ. M
ỗi lần copy sẽ n
pixel ñược dịch v
à di
Hình
c. Dịch và di chuy
ển dạ
Một xung là
ảnh
ñược mô tả bởi:
(
,
r c
δ ρ χ
− −
Chương 4:
Các Phươn
89
4.5
Ảnh kết quả ba phép biến ñổi d
ịch chuyể
h v
à di chuyển – nhân – cộng:
ương pháp như là l
ọc làm mờ
(
Blur Filter).
trong mặt nạ
dịch và di chuyển. M
ỗi lần cop
ảnh gốc bằng cách ñổi chổ các th
ành phần t
ươ
y sẽ nhân các phần tử t
ương
ứng trong mặt nạ
à di chuy
ển và nhân của ảnh trên sau
cùng s
ình 4.6
Ảnh minh họa phép nhân - dịch – c
ộn
n dạng xung
ảnh số m
à pixel có hai giá tr
ị 0 hay 1, Một x
)
1, if and
,
0,
r c
ρ χ
χ
= =
− =
≠
ương Pháp Phát Hi
ện Biên
uyển
er).
Các phần tử ñược
n copy ñ
ược dịch và di
ương
ứng trong mặt
ặt nạ với nhau.
Tập các
ng s
ẽ ñược cộng lại.
ộng
Một xung tại vị trí (r, c)
(4.2)
Chương 4: Các Phương Pháp Phát Hiện Biên
90
Nếu một ảnh ñược dịch và di chuyển bằng cửa sổ xung tại vị trí (r, c), thì
ảnh sẽ ñược dịch và di chuyển xuống r pixel và dịch và di chuyển qua phải c
pixel.
(
)
(
)
, ( , ) , .
I r c r c I r c
δ ρ χ ρ χ
∗ − − = − −
(4.3)
Hình 4.7 Ảnh minh họa phép dịch chuyển dạng xung
4.2.2 Phương pháp Gradient
4.2.2.1 Các kỹ thuật Gradient
Phép toán Gradient là kỹ thuật phát hiện biên trực tiếp thường sử dụng các
toán tử sau:
o
Toán tử Robert (1965).
o
Toán tử (mặt nạ) Sobel.
o
Mặt nạ Prewitt.
o
Mặt nạ ñẳng hướng.
o
Toán tử 4-lân cận (4-Neighbour Operator).
ðịnh nghĩa:
Gradient là một vector f(x,y) có các thành phần biểu thị tốc ñộ thay
ñổi mức xám của ñiểm ảnh (theo hai hướng x, y trong không gian hai chiều)
ñược biểu diễn theo các biểu thức sau:
Chương 4: Các Phương Pháp Phát Hiện Biên
91
( )
(
)
(
)
( )
( )
( )
( )
, ,
, , ,
x y x x y y
f x y f x y
f x y i i h f x y i h f x y i
x y
→ → → →
∂ ∂
∇ = + = ⊗ + ⊗
∂ ∂
(4.4)
Với:
(
)
(
)
(
)
( ) ( ) ( )
, , ,
, , ,
x
y
f x y f x dx y f x y
f
x dx
f x y f x y dy f x y
f
y dy
∂ + −
= ≈
∂
∂ + −
= ≈
∂
(4.5)
Trong ñó dx, dy là khoảng cách giữa 2 ñiểm kế cận theo hướng x, y tương ứng
(thực tế chọn dx= dy=1). ðây là phương pháp dựa theo ñạo hàm riêng bậc nhất theo
hướng x, y.
Như vậy ta có
o
ðộ lớn Gradient:
( ) ( )
( )
( )
( )
2
2
, , ,
x y
f x y h f x y h f x y
∇ = ⊗ + ⊗
(4.6)
o
Hướng Gradient:
( )
( )
(
)
( )
1
,
, tan
,
y
x
h f x y
f x y
h f x y
ψ
−
⊗
∇ =
⊗
(4.7)
o
ðộ lớn Gradient xấp xỉ:
(
)
(
)
(
)
, , ,
x y
f x y h f x y h f x y
∇ = ⊗ + ⊗
(4.8)
o
Các mặt nạ theo các hướng sau:
Hình 4.8
Ảnh
o
Ví d
ụ với dx=dy
( )
( )
,
,
f x y
f
x
f x y
f
y
∂
=
∂
∂
=
∂
o
Do ñó mặt nạ
nh
theo hư
ớng
và theo hư
Chương 4:
Các Phươn
92
nh kết quả phép t
ìm biên ảnh theo ñộ lớn v
à
dx=dy=1, ta có:
( ) ( )
( ) ( )
, ,
, ,
f x dx y f x y
f x y dy f x y
= + −
= + −
nhân ch
ập:
ớng x l
à:
)1,1(−=A
eo hư
ớng y là:
−
=
1
1
B
ương Pháp Phát Hi
ện Biên
à hư
ớng
(4.9)
o
Hàm r
ời rạc ảnh
o
Sai phân
S
Ví dụ: n
ếu ta có
=
3
30
3
30
3
30
0
00
I
Thì:
=⊗
**
03
03
00
AI
( ) (
⊗+⊗
B
IAI
Trong k
ỹ thuật grad
khác nhau):
i
j
Image
Chương 4:
Các Phươn
93
ạc ảnh I
Hình 4.9 Hình vẽ ảnh rời rạc hóa
S
ự khác biệt
ta có
3
3
3
3
3
3
0
0
;
)1,1(−=A
,
−
=
1
1
B
**
*0
*0
*0
;
=⊗
****
*000
*000
*330
BI
)
=
****
*003
*003
*330
B
ật gradient, ng
ười ta chia nhỏ thành 2 k
ỹ thuật
row i-1
row i
row i+1
col j-1
col j
I(i-1,j-1)
I(i,j-1)
I(i+1,j-1)
I
(i-1,j)
I
(i,j)
I
(i+1,j)
ương Pháp Phát Hi
ện Biên
thuật (do d
ùng 2 toán tử
col j
col j+1
(i-1,j)
(i,j)
(i+1,j)
I(i-1,j+1)
I(i,j+1)
I(i+1,j+1)
Chương 4: Các Phương Pháp Phát Hiện Biên
94
o
Kỹ thuật gradient dùng toán tử gradient lấy ñạo hàm theo một hướng.
o
Kỹ thuật la bàn dùng toán tử la bàn lấy ñạo hàm theo 8 hướng: Bắc, Nam,
ðông, Tây và ðông Bắc, Tây Bắc, ðông Nam, Tây Nam.
Thực hiện kỹ thuật trên, với mỗi ñiểm ảnh I(m,n) của I, ñạo hàm theo x,
theo y ñược kí hiệu tương ứng bởi I
x
, I
y
(
)
(
)
( ) ( )
( , ) 1, ,
( , ) , 1 ,
x
y
I m n I m n I m n
I m n I m n I m n
= + −
= + −
(4.10)
( ) ( ) ( )
( )
( ) ( )
( )
( ) ( ) ( ) ( ) ( )
, 1, , , 1 ,
, 1, , , 1 ,
x y
I m n I m n I m n i I m n I m n i
I m n I m n I m n I m n I m n
→ →
⇒ ∇ = + − + + −
⇒ ∇ = + − + + −
(4.11)
ðiều này tương ñương với nhân chập ảnh với 2 mặt nạ (bộ lọc) h
x
và h
y
:
[
]
[
]
[
]
11 −==
T
yx
hh
(4.12)
Hình 4.10 Sơ ñồ tương ñương mạch lọc
Nói chung, ảnh kết quả sau khi áp dụng kỹ thuật nổi biên phụ thuộc rất
nhiều vào việc chọn (
h
x
,
h
y
). Sau ñây là một dạng bộ lọc khác hay dùng
[
]
[
]
[
]
101 −==
T
yx
hh
(4.13)
a. Toán tử Robert
Robert áp dụng công thức tính Gradient tại ñiểm (x,y). Với mỗi ñiểm ảnh
I(x,y) ñạo hàm theo x, y ñược ký hiệu tương ứng: g
x
, g
y
:
(
)
( )
1, ( , )
, 1 ( , )
x
y
g I x y I x y
g I x y I x y
= + −
= + −
(4.14)
Cụ thể hóa bằng các mặt nạ theo chiều x và y tương ứng như sau:
Chương 4: Các Phương Pháp Phát Hiện Biên
95
−
=
−
=
10
01
01
10
yx
HH
(4.15)
Coi như ñạo hàm tại ñiểm (i+1/2, j+1/2) theo hướng 2 ñường chéo
Hình 4.11 Tọa ñộ ñiểm sau khi dùng toán tử Robert
ðối với ảnh số, các ñạo hàm vừa nêu có thể xấp xỉ bằng các sai phân
(difference)
1
2
( , ) ( 1, 1)
( 1, ) ( , 1)
a i j a i j
a i j a i j
∇ = − + +
∇ = + − +
(4.16)
2 2
1 2
⇒ ∇ = ∇ +∇
1 2
≈ ∇ + ∇
(4.17)
Hình 4.12 Ảnh kết quả làm nổi biên dùng toán tử Robert
b. Toán tử Sobel
Chương 4: Các Phương Pháp Phát Hiện Biên
96
Toán tử Sobel dò biên theo hai chiều trực giao nhau bằng hai cửa sổ như
sau:
o
Dò biên dùng toán tử Sobel theo chiều x
−
−
−
=
101
202
101
h
hay
−
−
−
101
202
101
(4.18)
Hình 4.13 ðồ thị mặt nạ lọc Sobel theo chiều x
o
Dò biên dùng toán tử Sobel theo chiều y
−−−
=
121
000
121
h
hay
−−− 121
000
121
(4.19)
Hìn
Ví d
ụ: hai mặt n
[ ]
[ ]
=
=
T
yx
hh
[ ]
1
2
1
4
1
=
x
h
[ ]
1
0
1
4
1
−
=
y
h
Theo trên ta th
hướng nhờ ph
ương tr
m
ột bộ lọc tam giác 1
Chương 4:
Các Phươn
97
Hình 4.
14 ð
ồ thị mặt nạ lọc Sobel theo chiều
mặt nạ sẽ thực hiện theo
hai chi
ều có dạng nh
Hình 4.15 Cửa sổ của toán tử Sobel
[ ]
101 −
=
[ ]
101
1
2
1
4
1
10
20
10
−•
=
−
−
−
[ ]
121
1
0
1
4
1
12
00
12
•
−
=
−−
ta th
ấy h
x
và h
y
ñều tách ñư
ợc, mỗi bộ lọc lấy
ơng tr
ình [h
x
] và làm trơn theo hướng trực
giao
giác 1
- chiều.
ương Pháp Phát Hi
ện Biên
iều y
g nh
ư hình 4.15
(4.20)
(4.21)
(4.22)
ọc lấy ñạo h
àm theo một
giao v
ới hướng ñó nhờ
o
Biên ñ
ộ của bi
o
Chiều của bi
ên =
o
Toán t
ử Sobel: D
(
1
1,
( 1, 1
a i j
a i j
∇ = −
− + +
(
2
1,
( 1, 1
a i j
a i j
∇ = −
− − −
2
1
∇ = ∇ + ∇
o
Cách tính toán t
+
Mặt nạ v
ào
ñược ñặt l
ên
+
M
ặt nạ sobe
trị
và sau ñó
Chương 4:
Các Phươn
98
ủa bi
ên =
ên =
obel: D
ùng sai phân tại ñiểm (i,j)
)
1, 1 2 ( 1, ) ( 1, 1)
1, 1) 2 ( 1, ) ( 1, 1)
j a i j a i j
j a i j a i j
+ + − + − −
+ − + − + −
)
1, 1 2 ( , 1) ( 1, 1)
1, 1) 2 ( , 1) ( 1, 1)
j a i j a i j
j a i j a i j
+ + + + + +
− − − − + −
2
2
+ ∇
toán t
ử Sobel:
ào
: là giá trị các pixel có cùng kích thư
ớc
ên
ảnh vào có dạng như sau:
P1
P2
P3
P4
P5
P6
P7
P8
P8
ạ sobel theo chiều ngang
ñể tính S. Giá trị ñư
ợc
sau ñó d
ịch từ trái sang phải rồi từ trên xu
ống d
1
0
-1
2
0
-2
ương Pháp Phát Hi
ện Biên
(4.23)
(4.24)
(4.25)
ớc với mặt nạ cửa sổ
ợc tính theo từng giá
ống d
ưới
Chương 4: Các Phương Pháp Phát Hiện Biên
99
1
0
-1
+
Mặt nạ sobel theo chiều dọc tính S2. Giá trị ñược tính theo từng giá trị
và sau ñó dịch từ trái sang phải rồi từ trên xuống dưới
-1
-2
-1
0
0
0
1
2
1
+
Mặt nạ ra ñược tính
và gán cho pixel S như trong hình sau
S
o
Giải thuật:
S1 = (P1+2P4+P7) - (P3+2P6+P9)
S2 = (P7+2P8+P9) - (P1+2P2+P3)
(
)
2 2
1 2 1 2
f S S S S
∇ = + ≈ +
(4.26)
+
Nếu
∇f >=threshold
thì S=0
+
Nếu
∇f <=threshold
thì S=1
o
Ví dụ toán tử Sobel: Tương tự như kỹ thuật kỹ Prewitt kỹ thuật Sobel sử
dụng 2 mặt nạ nhân chập theo 2 hướng x, y là:
=
000000
000000
005555
005555
005555
000000
I
;
−
−
−
=
101
202
101
x
H
,
−−−
=
121
000
121
y
H
Tìm:
∇
∇
∇
;;
21
Cho ngưỡng =3
Hình
Hình 4.
17
o
Nhận xét:
+
M
ỗi mặt nạ
+
Phát hi
ện ñ
d
ụng mặt nạ
+
Mức ngư
ỡn
Chương 4:
Các Phươn
100
ình 4.1
6 Kết quả của ảnh dùng lọc Sobel
17
Ảnh kết quả làm nổi biên dùng toán t
ử So
ặt nạ có khả năng phát hiện ñ
ường bi
ên khác n
ện ñ
ường biên sử dụng hai mặt nạ thì b
ằng g
mặt nạ theo chiều ngang v
à theo chiều dọc.
ỡng
càng nhỏ thì khả năng phát hiện ñư
ờng
ương Pháp Phát Hi
ện Biên
Sobel
khác nhau.
ằng ghép ñ
ường biên sử
ờng bi
ên càng lớn.
c. Toán tử Prewitt
Toán t
ử Prewitt
toán t
ử khác toán tử P
o
Dò biên dùng to
−
−
−
01
01
01
o
Dò biên dùng to
−− 11
00
11
Ví d
ụ: hai mặt nạ sẽ t
Hình 4.18
Hai
[ ]
[ ]
=
=
T
yx
hh
[ ]
0
1
0
1
0
1
3
1
=
x
h
[ ]
1
0
1
3
1
−
=
y
h
Theo trên ta th
hướng nhờ ph
ương tr
một bộ lọc ñều 1-
chi
Chương 4:
Các Phươn
101
rewitt
dò biên theo hai chiều trực giao nhau
. C
án tử Prewitt l
à toán tử thực hiện lấy ñạo h
àm b
ùng toán t
ử Prewitt theo chiều x
−
−
−
1
1
1
cho ra
x
I
ùng toán t
ử Prewitt theo chiều y
−1
0
1
cho ra
y
I
nạ sẽ thực hiện theo
hai chiều có dạng như h
ình
Hai m
ặt nạ thực hiện theo hai chiều của toán
[ ]
101 −
=
[ ]
101
1
1
1
3
1
1
0
1
0
1
0
−•
=
−
−
−
[ ]
111
1
0
1
3
1
11
00
11
•
−
=
−−
ta th
ấy h
x
và h
y
ñều tách ñư
ợc, mỗi bộ lọc lấy
ơng tr
ình [h
x
] và làm trơn theo hư
ớng trực giao
chi
ều.
ương Pháp Phát Hi
ện Biên
. C
ũng như các phép
àm b
ậc 1 của ảnh vào.
ình 4.18
oán tử Prewitt
(4.27)
(4.28)
(4.29)
ọc lấy ñạo h
àm theo một
c giao với h
ướng ñó nhờ
Chương 4: Các Phương Pháp Phát Hiện Biên
102
o
Ví dụ toán tử Prewitt : kỹ thuật sử dụng 2 mặt nạ nhân chập xấp xỉ ñạo hàm
theo 2 hướng x và y là:
=
000000
000000
005555
005555
005555
000000
I
;
101
101
101
−
−
−
=
x
H
;
111
000
111
−−−
=
y
H
Thì kết quả dò biên dùng toán tử Prewitt như sau
−−−−
−−−−
=⊗
******
******
**5101515
**5101515
**0000
**5101515
y
HI
−−
−−
−−
−−
=⊗
******
******
**5500
**101000
**151500
**101000
x
HI
( )
( )
=⊗+⊗
******
******
**10151515
**15201515
**151500
**501515
yx
HIHI
o
Cách tính toán tử Prewitt:
Ta có thể sử dụng 2 mặt nạ theo dạng ñường chéo h
D1
và h
D2
ñều tách ñược,
mỗi bộ lọc lấy ñạo hàm theo một ñường chéo nhờ phương trình [h
D
] và làm trơn
theo hướng trực giao với hướng ñó nhờ một bộ lọc tam giác 1- chiều.
+
Tương tự toán tử Sobel, toán tử Prewitt dùng mặt nạ vào là giá trị các
pixel có cùng kích thước với mặt nạ cửa sổ ñược ñặt lên ảnh vào có
dạng như sau
Z1
Z2
Z3
Z4
Z5
Z6
Chương 4: Các Phương Pháp Phát Hiện Biên
103
Z7
Z8
Z8
+
Mặt nạ Prewitt theo chiều P
D1
, toán tử Prewitt dùng mặt nạ vào theo
chiều ngang ñể tính P
D1
. Giá trị ñược tính theo từng giá trị và sau ñó
dịch từ trái sang phải rồi từ trên xuống dưới
0
1
1
-1
0
1
-1
-1
0
+
Mặt nạ Prewitt theo chiều tính P
D2
, toán tử Prewitt dùng mặt nạ vào
theo chiều ngang ñể tính P
D2
. Giá trị ñược tính theo từng giá trị và sau
ñó dịch từ trái sang phải rồi từ trên xuống dưới
-1
-1
0
-1
0
1
0
1
1
+
Mặt nạ ra ñược tính
và gán cho pixel P như trong hình sau
P
o
Giải thuật:
P
d1
= (Z2+Z3+Z6) – (Z4+Z7+Z8) (4.30)
P
d2
= (Z6+Z8+Z9) – (Z1+Z2+Z4) (4.31)
Tính giá trị P: (Z5)
(
)
2 2
1 2 1 2
D D D D
f P P P P
∇ = + ≈ +
(4.32)
Chương 4: Các Phương Pháp Phát Hiện Biên
104
Hình 4.19 Ảnh kết quả làm nổi biên dùng toán tử Prewitt
Hình 4.20 Kết quả ảnh màu làm nổi biên dùng toán tử Prewitt
o
Nhận xét:
+
Mỗi ma trận lọc có khả năng phát hiện các ñường biên ở các vị trí khác
nhau. Do ñó nếu áp dụng nhiều ma trận lọc khác nhau rồi ghép kết quả
lại ta sẽ ñược kết quả tốt hơn.
Chương 4: Các Phương Pháp Phát Hiện Biên
105
+
Một số ñường biên bị mất, ñây là các ñường biên vuông góc (hoặc gần
vuông góc) với các ñường chéo, do ñó với thuật toán này ta không phát
hiện ñược.
+
Nếu áp dụng thêm các ma trận lọc theo phương ngang hoặc phương
ñứng sẽ cho kết quả tốt hơn.
d. Mặt nạ ñẳng hướng
Một mặt nạ khác cũng ñược nêu như dưới ñây gọi là mặt nạ ñẳng hướng
(Isometric) ñược dùng làm nổi biên theo phép lấy ñạo hàm bậc 1
1 0 1
1 2 1
2 0 2 0 0 0
1 0 1
1 2 1
x y
H H
−
− − −
= − =
−
e. Toán tử 4 lân cận:
Toán tử 4 - lân cận ñược Chaudhuri và Chandor (1984) nêu ra, trong ñó mặt
nạ có kích thước 3x3 ñược thay cho mặt nạ 2x2 của toán tử Robert. Các mặt nạ
này ñược cho:
o
Mặt nạ theo chiều tính trục x
0
-1
0
0
0
1
0
0
0
Chương 4: Các Phương Pháp Phát Hiện Biên
106
o
Mặt nạ theo chiều tính trục y
0
1
0
-1
0
0
0
0
0
f. Khớp nối lỏng:
Với ñiểm P ñược bao phủ xung quanh bởi 8 ñiểm: P0, P1, …P8:
P3
P2
P1
P4
P
P0
P5
P6
P7
o
Ta có lân cận 8 của P gồm các ñiểm: P0, P1, P2, P3, P4, P5, P6, P7
o
Lân cận 4 của P gồm các ñiểm: P0, P2, P4, P6.
o
Xét P và Q là 2 ñiểm có 4 lân cận:
o
I(P) và I(Q): là 2 ñiểm xám của P và Q
o
Nếu | I(P) - I(Q) |> θ thì ta có một cặp biên.
o
θ: gọi là giá trị ngưỡng.
Ví dụ: cho ảnh có giá trị như hình và θ=3
1
4
2
8
5
7
4
2
8
5
7
1
2
8
5
7
1
4
g. Nhận xét
o
Toán t
ử Prewitt
o
Toán t
ử Sobel tá
o
Các toán t
ử Rob
o
Như v
ậy, ñể ñạ
ñược dùng trư
ớc
o
Các m
ặt nạ của
n
ạ có số chiều lớ
o
Các toán t
ử kể t
hướng (-x, y;
-
4.2.2.2 Toán tử la bàn
a. Toán tử la b
àn Kirsh
Toán tử la b
àn
gradient la bàn theo h
E theo 8 hướng ng
ư
[ ]
cos .
h h
θ
θ
=
Có nhi
ều toán tử
toán t
ử Kirsh. Toán tử
Chương 4:
Các Phươn
107
rewitt có thể tách bi
ên ñứng tốt hơn toán t
ử Sob
obel tách các s
ườn trên các ñiểm ở ñư
ờng chéo
ử Robert v
à toán tử 4-lân cận có như
ợc ñiểm l
ñể ñạt ñ
ư
ợc kết quả mong muốn các toán tử
ớc ñể l
àm sạch nhiễu.
ạ của các toán tử tr
ên có kích thư
ớc 2x2 hoặc 3
hiều lớn h
ơn cũng ñược sử dụng 5x5
ử kể tr
ên ñ
ều sử dụng các mặt nạ theo hai chi
-
y, y).
irsh
àn ño gradient theo m
ột số hướng ñã ch
ọn.
theo hư
ớng θ
k
=π/2 +2kπ v
ới k=0,1, 2,…7. Nh
ư
ợc chiều kim ñồng hồ.
cos . sin .
x y
h h
θ θ
+
Hình 4.21 Toán tử la bàn
toán tử la b
àn khác nhau. Nhưng ở ñây, tr
ình bà
oán tử n
ày sử dụng mặt nạ 3x3
ương Pháp Phát Hi
ện Biên
ử Sobel,
chéo tốt h
ơn.
iểm l
à nhạy với nhiễu.
toán tử
Gradient thường
hoặc 3x3 chiều. Các mặt
ai chiều (x,y) tức l
à bốn
ọn. Nếu kí hiệu g
k
là
7. Nh
ư vậy ta có gradient
(4.33)
ình bày m
ột cách chi tiết
Chương 4: Các Phương Pháp Phát Hiện Biên
108
1 2 3
5 5 5 3 5 5 3 3 5
3 0 3 3 0 5 3 0 5
3 3 3 3 3 3 3 3 5
H H H
− − −
= − − = − = −
− − − − − − − −
4 5 6
3 3 3 3 3 3 3 3 3
3 0 5 3 0 3 5 0 3
3 5 5 5 5 5 5 5 3
H H H
− − − − − − − − −
= − = − − = −
− −
7 8
5 3 3 5 5 3
5 0 3 5 0 3
5 3 3 3 3 3
H H
− − −
= − = −
− − − − −
Trong ñó H1, H2, H3, …H8 tương ứng với 8 hướng: 0
0
, 45
0
, 90
0
, 135
0
,
180
0
, 225
0
, 315
0
. Nếu ta kí hiệu
i, i=1, 2, …8 là gradient thu ñược theo 8 hướng
bởi 8 mặt nạ, biên ñộ gradient tại (x, y) ñược tính như sau:
(
)
(
)
(
)
, , , 1,2, 8
x y Max x y i∇ = ∇ =
(4.34)
b. Toán tử la bàn khác
Ngoài toán tử la bàn Kirsh, một số toán tử la bàn khác sử dụng bộ mặt nạ 8
hướng khác như
−
−−
−
=
−−
−−
=
−
−−−
=
111
121
111
111
121
111
111
121
111
321
HHH
−−
−−=
−−−
−=
−−
−−=
111
121
111
111
121
111
111
121
111
654
HHH
−−
−−
=
−
−−
−
=
111
121
111
111
121
111
87
HH
Tóm lại:
Các kỹ thuật sử dụng phương pháp Gradient khá tốt khi ñộ sáng có tốc ñộ
thay ñổi nhanh, khá ñơn giản trên cơ sở các mặt nạ theo các hướng. Nhược