Tải bản đầy đủ (.docx) (9 trang)

Tiểu luận Sử dụng các toán tử EROSION(phép co) và CLOSING để làm mảnh biên (Có Source Code)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (246.61 KB, 9 trang )

BÁO CÁO TIỂU LUẬN MÔN HỌC
XỬ LÝ ẢNH
*************************
Đề tài: Sử dụng các toán tử EROSION(phép co) và CLOSING để làm mảnh
biên.
Hướng giải quyết: Ta xử lý biên trên ảnh đen trắng với hai toán tử EROSION và
CLOSING. Trước tiên ta đi tìm hiểu về hai toán tử này.
I. Các phép toán nhị phân.
Ký hiệu chuẩn cho tập các thao tác nhị phân cơ bản
NOT
ac =
OR
bac
+=
AND
bac
•=
XOR
bababac
•+•=⊕=
SUB
bababac
•=−==
/
Ở đây mỗi thao tác sẽ được dựng cho từng điểm ảnh một.
a)


nh

a b)




nh

b
Not (b) ; Or(a,b) ; And(a,b)
Xor(a
,b)

;

Sub(a,b)

Phép

toán

SUB(*)

s


r

t

h

u


ích

khi


nh

a

th


hi

n

vùng

quan

tâm



chúng

ta
mu

n


phân

tích

m

t

cách

h


th

ng,

còn


nh

b

th


hi


n

các

đố
i

t
ượ
ng

đ
ã

đ
ượ
c

phân
tích





th


lo


i

đ
i

kh

i

vùng

đ
ó.
II. Phép toán morphology
Ta

đ
ã

đ

nh

nghĩa


nh




m

t

hàm

hai

bi
ế
n

th

c,
a( x, y)
ho

c

m

t

m

ng

các


giá
tr


r

i

r

c
a
[
m, n
]
.

Chúng

ta

còn



m

t

đ

inh

nghĩa

khác

v



nh,

d

a

trên

quan

sát


m

i


nh




th


xem

nh
ư



m

t

t

p

h

p

các

t

a


độ

r

i

r

c

ho

c

liên

t

c.
Theo

m

t

nghĩa

nào

đ

ó,

t

p

h

p

này

t
ươ
ng


ng

v

i

các

đ
i

m



nh

thu

c

v


các
đố
i

tu

ng

hi

n

h

u

trong


nh.

Hình

trên

minh

h

a

ý

t
ưở
ng

này

b

ng

cách

cho

th

y




hai

đố
i

t
ượ
ng,

hay

hai
t

p

A



B

trong


nh.




đ
ây

chúng

ta

c

n

ph

i

xác

đ

nh

r

ng

h


tr


c

t

a

độ

nh
ư
trong hình

v

.

Trong

ph

n

này,

chúng

ta

ch



c

n

quan

tâm

đ
ế
n

các

giá

tr

đ
i

m


nh

nh


phân



gi

i

h

n

không

gian

làm

vi

c

trên

không

gian

r


i

r

c
(
Z

2
)
.
Đ

i

t
ượ
ng

A

g

m

nh

ng

đ

i

m

α



cùng

tính

ch

t

sau:
Đ

i

t
ượ
ng

A

=

{

α

propertya

(
α

)

=

TRUE

}


d


đố
i

t
ượ
ng

B

trong


hình

trên

g

m

các

đ
i

m


nh



t

a

độ

{
[
0,0
]

,
[
1,0
]
,
[
0,1
]
}
. Ph

n

n

n

c

a

A

đ
ượ
c



hi


u

b

i

(ph

n



c

a

A),

s


bao

g

m

các


đ
i

m


nh
không

thu

c

A:
Ph

n

n

n

-

A
c
=
{ }
A∉
αα

|
Ta

th

y



n
ế
u

m

t

đố
i

t
ượ
ng

A

đ
ượ
c


đ

nh

nghĩa

trên

m

t

lân

c

n

liên

thông

C
(C

=

4,

6


ho

c

8

)

thì

ph

n

n

n
A
c
t
ươ
ng


ng

s





tính

liên

thông

cho

b

i

12-C;
1.
Các định nghĩa cơ bản
Các

phép

toán

c
ơ

b

n



ng

v

i

m

t

đố
i

t
ượ
ng

chính



t

p

các

phép


toán

t

p h

p

chu

n

bao

g

m

phép

h

i,

phép

giao,

phép


l

y



{

,

, c
}



phép

t

nh

ti
ế
n:
P hép

t


nh


ti
ế
n



Cho

tr
ướ
c

m

t

vector

x



m

t

t

p


h

p

A,

phép

t

nh

ti
ế
n

A

+

x

đ
ượ
c
đ

nh


nghĩa

nh
ư

sau:
A

+

x

=

{
α

+

x

α



A
}
Chú

ý


r

ng

nh

ng

ph

n

t


riêng

l


h

p

thành

B

không


ch




các

đ
i

m


nh


còn



c


nh

ng

vector


khi

chúng



v


trí

t

a

độ

xác

đ

nh

so

v

i

đ

i

m

g

c

[
0,0
]
.

Cho
hai

t

p

h

p

A



B,


chúng

ta

có:
P hép

c

ng

M

ink o

w ski

(addition)
P hép

tr


M

ink o

w ski

(subtraction)


B
BABA

+=⊕
β
)(

B
BABA

+=Θ
β
)(
2. Phép phát triển và phép bào mòn (Dilation and Erosion)
T


hai

phép

toán

Minkowski

v

a


đ

nh

nghĩa



trên,

chúng

ta



th


đ

nh
nghĩa

hai

phép

toán


morphology

c
ơ

b

n



phép

phát

tri

n



phép

bào

mòn:
Phép

phát


tri

n

(dilation

)

B
BABABAD

+=+=
β
)(),(
Phép

bào

mòn

(erosion)

B
BABABAE

−=−=
β
)(
~
),(

Trong

đ
ó
M

c



c


A

hay

B

đ

u



th


đ
ượ

c

xem





nh”

nh
ư
ng

thông

th
ườ
ng

A

đ
ượ
c
xem





nh,

còn

B

đ
ượ
c

xem



ph

n

t


c

u

trúc.

Trong




thuy
ế
t

toán

h

c

v

Morphology,

ph

n

t


c

u

trúc




vai

trò

t
ươ
ng

t


nh
ư

khái

ni

m

nhân

ch

p

trong


thuy

ế
t

v


các

b


l

c

tuy
ế
n

tính.
M

t

cách

t

ng


quát

thì

phép

phát

tri

n

làm

cho

các

đố
i

t
ượ
ng

gia

t
ă
ng


kích
th
ướ
c,

còn

phép

bào

mòn

s


làm

cho

chúng

co

l

i.

S



gia

t
ă
ng

co

l

i

nhi

u

hay

ít,
gia

t
ă
ng

ho

c


co

l

i

theo

cách

th

c

nào

c

a

các

đố
i

t
ượ
ng


đ

u

ph


thu

c

vào

cách
l

a

ch

n

ph

n

t


c


u

trúc.

Hai

ph

n

t


c

u

trúc

thông

d

ng

nh

t


(s


d

ng

h


t

a

độ
Đ

-các)



các

t

p

liên

thông


4



8,

th
ườ
ng

đ
ượ
c



hi

u



N

4

và N

8


.
V

i

A



m

t

đố
i

t
ượ
ng


A
c


ph

n


n

n

c

a

nó,

tính

ch

t

trên

cho

th

y

phép

phát

tri


n

m

t

đố
i

t
ượ
ng

t
ươ
ng

đ
ươ
ng

v

i

phép

bào

mòn


ph

n

n

n

c

a

nó.

T
ươ
ng

t

nh
ư

v

y,

phép


bào

mòn

m

t

đố
i

t
ượ
ng

t
ươ
ng

đ
ươ
ng

v

i

phép

phát


tri

n

ph

n

n

n c

a

nó.
Th

c

hi

n

các

thu

t


toán

phát

tri

n



bào

mòn

đ
ơ
n

gi

n

nh

t

th
ườ
ng


đ
ượ
c mô

t


nh
ư

sau:
Phép

phát

tri

n:

ng

v

i

m

i

đ

i

m


nh

thu

c

đố
i

t
ượ
ng

(có

giá

tr


”1”)

thay

đổ

i

giá

tr


c

a

t

t

c

các

đ
i

m


nh

n

n


(có

giá

tr


”0”)

thu

c

liên

thông

C

c

a



sang

giá


tr


“1”.
Phép

bào

mòn:


ng

v

i

m

i

đ
i

m


nh

n


n

(có

giá

tr


“0”),

thay

đổ
i

giá

tr


c

a
t

t

c



các

đ
i

m


nh

thu

c

đố
i

t
ượ
ng

(có

giá

tr



“1”)

thu

c

liên

thông

C

c

a



sang giá

tr


“0”.
3. Phép

m





phép

đóng (Opening and Closing)
Chúng

ta

c
ó

t
h


k
ế
t

h

p

ph
é
p

phá
t


t
r
i

n

v
à

ph
é
p

bào

mòn

đ


t

o

t
h
à
nh

các

ph
é
p

t
o
á
n

c
ó

m

c

độ

qu
a
n

t
r

ng

ca
o


h
ơ
n
:
P
h
é
p

m

: O(A,B)
=
A
o
B
=
D(
E
(A,B),B)
P
h
é
p

đ
óng:

C(A,B)
=

A



B
=E
(D(A,-B),-B)
C
ác

ph
é
p

m


v
à

đ
óng

c
ó

các


nh


c
h

t

s
a
u
:

nh

đố
i

ng

u
:

C
c
(A,B)
=
O(A
C
,
B)
O

c
(A,B)
=
C(A
c
,

B)
O(A
+
x,

B)
=
O(A,

B)
+
x

nh

t

nh

ti
ế
n
:


C(A
+
x,

B)
=
C(A,

B)

+
x
V

i

ph
é
p

t
oán

m


t
hông


qu
a

ph

n

t


c

u

t

c

B

v
à

các


nh

A,


A
1
,

A
2
,

t
rong
đ
ó

A
1




nh

c

a

A
2

(A
1


A
2
),

c
húng

ta

c
ó

các


nh

c
h

t

s
a
u
:
T
í
nh


ph

n

m


r

ng -
O
(
A, B
)


A
T
í
nh

đ
ơ
n

đ
i

u


t
ă
ng

-
O
(
A
1
, B
)


O
(
A
2
, B
)
T
í
nh

d

ng

-
O

(
O
(
A, B
)
, B
)

=
O
(
A,
B
)
(*)
V

i

ph
é
p

t
o
á
n

đ
óng


t
hông

qu
a

ph

n

t


c
ó

c

u

t

c

B

v
à


các


nh

A,

A
1
,

A
2

,
t
rong

đ
ó

A
1




nh

c


a

A
2

(
A
1

A
2
)
,

c
húng

ta

c
ó
:
T
í
nh

m



r

ng -
A


(
A, B
)
T
í
nh

đ
ơ
n

đ
i

u

t
ă
ng

-
C
(
A

1
, B
)



(
A
2
, B
)
T
í
nh

d

ng -
C
(
C
(
A, B
)
, B
)

=
C
(

A, B
)
H
ai


nh

c
h

t

qu
a
n

t
r

ng

c
ho

b

i

các


ph
ươ
ng

t
r
ì
nh

nh
â
n

c
h

p

đ

i

s


(
t

ng

c
h

p)

v
à

(*)

h
ế
t

s

c

qu
a
n

t
r

ng

t
rong


l
ý

t
huy
ế
t

t
o
á
n

v


morpho
l
ogy,

đ
ế
n

độ

c
húng
c
ó


t
h


đ
ượ
c

x
e
m



nguy
ê
n

nh
â
n

d

n

đ
ế
n


v
i

c

đ

nh

ngh
ĩ
a

ph
é
p

bào

mòn

v

i

-B,

t
h

a
y
v
ì

v

i

B
.
4.
Tóm

t

t

nh

ng

phép

toán

c
ơ

b


n
Cho

b
a

ph

n

t


c

u

t

c

c
ó


nh

đố
i


x

ng

(g


t
r



-


đ

i

d
i

n

c
ho

ý




không qu
a
n


m

.










==
111
111
111
8
NB

B











−−−
−−
−−−
= 1
1

B










−−

−−
=
1

11
1
2
(a)
(b)

(
c
)
5. Ta

c
ó
ví dụ với phần tử cấu trúc N
8
:
Thực hiện
các

ph
é
p

t
o
á
n

xử lý trên ảnh A thu được kết quả:
 Phép toán mở (Opening) có thể tách các đối tượng liên thông trong một ảnh

nhị phân. Phép toán đóng (Closing) có thể lấp đầy các lỗ nhỏ.
 Với một phần tử cấu trúc “trơn”, cả hai phép toán này đều cho nột lượng trơn
đáng kể trên biên của đối tượng nhận tác động từ chúng.
 Phép mở (Opening) làm trơn biên đối tượng từ phía trong còn phép đóng
(Closing) làm trơn biên đối tượng từ phía ngoài.
III. Thuật toán
Ta thực hiện thuật toán xử lý trên hai bước:
- B1: Xác định biên của đối tượng trong ảnh
- B2: Thực hiện toán tử Erosion và Closing trên ảnh biên vừa tìm được.
1. Xác định biên của đối tượng trong ảnh
Ta dùng thuật toán xác định biên Robert (xác theo Gradient)
Thuật toán này thực hiện như sau: Chạy từ trái qua phải, từ trên xuống dưới của ảnh.
Giả sử đang ở vị trí (i,j) với 0=<i <h-1 (h là độ cao của ảnh) và 0<=j<w-1(w là
độ rộng của ảnh)
Ta xét biểu thức F=(f(i+1,j+1)-f(i,j)).(f(i+1,j+1)-f(i,j))+(f(i,j+1)-f(i+1,j)).(f(i,j+1)-
f(i+1,j)).
Trong đó f(i,j) là mức xám của điểm ảnh tại tọa độ (i,j).
Nếu F lớn hơn giá trị ngưỡng T cho trước thì cho điểm ảnh tại vị trí (i,j) là trắng
(điều này do ta quy định có thể cho nó là đen) tức là điểm này sẽ nằm trên biên của
ảnh.
Nếu không ta sẽ cho điểm này có màu đen.
Với những điểm ở dưới cùng (i=h-1) của ảnh thì ta cho nó có màu giống với điểm
ở bên trên cùng cột với nó
Với những điểm ở bên phải cùng của ảnh thì ta cho nó có màu giống với màu của
điểm ở bên trái cùng hàng với nó
2. Thực hiện toán tử Erosion và Closing trên ảnh biên vừa tìm được.
Ta sẽ thực hiện các toán tử Erosion và Closing với phần tử cấu trúc tùy theo từng
trường hợp.
Vì trong thuật toán xác định biên ở trên ta quy định các điểm màu trắng sẽ là
biên, các điểm màu đen xẽ là nền. Nên mục đich của toán tử Erosion, Closing sẽ làm

phần màu trắng gầy đi (biên gầy đi)
 Thuật toán Erosion trong chương trình
Ta cho chạy từ từ trái qua phải và từ trên xuống dưới để xác định những điểm
nào cần giữ lại màu và những điểm cần thay đổi màu.
Giả sử ta đang đứng ở vị trí (i,j), ta sẽ xét các điểm lân cận với (i,j) tương ứng với
vị trí trong phần tử cấu trúc có giá trị là 1 nếu thỏa mãn tất cả những điểm này đều
màu trắng thì pixel ở vị trí (i,j) sẽ là màu trắng trong ảnh sau khi thực hiện toán tử,
ngược lại nó sẽ có màu đen.
 Thuật toán Closing trong chương trình
Trong thuật toán này trước hết ta phải làm béo các phần tử màu trắng trong ảnh
bằng toán tử Dilation như đã nêu ở phân lí thuyết ở trên.
Ta cho chạy từ trái qua phải từ trên xuống dưới của ảnh.
Giả sử ta đang ở vị trí (i,j) nếu điểm này có màu trắng thì ta xét các vị trí tương ứng
với những vị trí trong phần tử cấu trúc có giá trị bằng 1 và cho điểm đó có màu trắng,
như vậy các nét phần tử màu trắng sẽ to ra.
Sau đó ta thưc hiện toán tử Erosion như đã trình bày ở phần thuật toán Erosion ở
phần trên.
IV. Kết luận
Để giải quyết làm mảnh biên bằng 2 toán tử Erosion và Closing ta không có 1
thuật toán cố định với phần tử cấu trúc cố đinh, mà phải dùng các phần tử cấu trúc
một cách linh hoạt và hợp lý.
Với những biên có độ dày khác nhau ta phải sử dụng phần tử cấu trúc với kích
thước khác nhau.
Với những biên có độ dày không ổn đinh và có đoạn đứt nét , khe hở ta phải
dùng thêm toán tử Closing trước để lấp đầy những khe hở và nối liền những phần
đứt ở biên sau đó mới dùng toán tử Erosion để làm mảnh biên.
Trong nhiều trường hợp ta phải sử dụng nhiều phép Erosion và Closing liên
tiếp hoặc đan xen nhau với nhiều dạng phần tử cấu trúc khác nhau thì mới làm mảnh
được biên như mong muốn.
Ngoài ra, với những ảnh có nhiễu ta có thể dùng toán tử Erosion để làm mảnh

biên đồng thời lọc nhiễu luôn mà không cần thao tác lọc nhiễu trước.
TÀI LIỆU THAM KHẢO
1. Nhập môn xử lý ảnh -Lương Bá Mạnh, Nguyễn Thanh Thủy-NXB KH&KT
2. Xử lý ảnh và Video số - Nguyễn Kim Sách – NXB KH&KT 1997.
3. Computer vision, Imaging - Lương Chi Mai
4. Bài giảng Xử lý ảnh số - Đào Thanh Tĩnh.

×