You are on page 1of 76

I HC THI NGUYN

KHOA CNG NGH THNG TIN

GIO TRNH MN HC

X L NH
Ngi son : TS. NNG TON,
TS. PHM VIT BNH

Thi Nguyn, Thng 11 nm 2007

LI NI U

Khong hn mi nm tr li y, phn cng my tnh v cc thit b


lin quan c s tin b vt bc v tc tnh ton, dung lng cha,
kh nng x l v.v.. v gi c gim n mc my tnh v cc thit b lin
quan n x l nh khng cn l thit b chuyn dng na. Khi nim
nh s tr nn thng dng vi hu ht mi ngi trong x hi v vic
thu nhn nh s bng cc thit b c nhn hay chuyn dng cng vi vic
a vo my tnh x l tr nn n gin.
Trong hon cnh , x l nh l mt lnh vc ang c quan tm v
tr thnh mn hc chuyn ngnh ca sinh vin ngnh cng ngh thng
tin trong nhiu trng i hc trn c nc. Tuy nhin, ti liu gio trnh
cn l mt iu kh khn. Hin ti ch c mt s t ti liu bng ting Anh
hoc ting Php, ti liu bng ting Vit th rt him. Vi mong mun ng
gp vo s nghip o to v nghin cu trong lnh vc ny, chng ti bin
son cun gio trnh X l nh da trn cng mn hc c duyt.
Cun sch tp trung vo cc vn c bn ca x l nh nhm cung cp
mt nn tng kin thc y v chn lc nhm gip ngi c c th t
tm hiu v xy dng cc chng trnh ng dng lin quan n x l nh.
Gio trnh c chia lm 5 chng v phn ph lc: Chng 1, trnh
by Tng quan v x l nh, cc khai nim c bn, s tng qut ca mt
h thng x l nh v cc vn c bn trong x l nh. Chng 2, trnh
by cc k thut nng cao cht lng nh da vo cc thao tc vi im
nh, nng cao cht lng nh thng qua vic x l cc im nh trong ln
cn im nh ang xt. Chng ny cng trnh by cc k thut nng cao
cht lng nh nh vo cc php ton hnh thi. Chng 3, trnh by cc k
thut c bn trong vic pht hin bin ca cc i tng nh theo c hai
khuynh hng: Pht hin bin trc tip v pht hin bin gin tip. Chng
4 th hin cch k thut tm xng theo khuynh hng tnh ton trc trung
v v hng tip cn xp x nh cc thut ton lm mnh song song v gin
tip. V cui cng l Chng 5 vi cc k thut hu x l.
Gio trnh c bin son da trn kinh nghim ging dy ca tc gi
trong nhiu nm ti cc kha i hc v cao hc ca H Cng ngh HQG H Ni, H Khoa hc t nhin HQG H Ni, Khoa Cng ngh
thng tin H Thi Nguyn v.v.. Cun sch c th lm ti liu tham kho
cho sinh vin cc h k s, c nhn v cc bn quan tm n vn nhn
dng v x l nh.

Cc tc gi by t lng bit n chn thnh ti cc bn ng nghip


trong Phng Nhn dng v cng ngh tri thc, Vin Cng ngh thng tin,
B mn H thng thng tin, Khoa Cng ngh thng tin, H Thi Nguyn,
Khoa Cng ngh thng tin, H Cng ngh, HQG H Ni, Khoa Ton
C Tin, H Khoa hc t nhin, HQG H Ni ng vin, gp v
gip hon chnh ni dung cun sch ny. Xin cm n Lnh o Khoa
Cng ngh thng tin, H Thi Nguyn, Ban Gim c H Thi Nguyn
h tr v to iu kin cho ra i gio trnh ny.
Mc d rt c gng nhng ti liu ny chc chn khng trnh khi
nhng sai st. Chng ti xin trn trng tip thu tt c nhng kin ng
gp ca bn c cng nh cc bn ng nghip c chnh l kp thi.
Th gp xin gi v: Phm Vit Bnh,
Khoa Cng ngh thng tin H Thi nguyn.
X Quyt Thng, Tp. Thi Nguyn
in thoi: 0280.846506

Email: pvbinh@ictu.edu.vn

Thi Nguyn, ngy 22 thng 11 nm 2007


CC TC GI

MC LC

LI NI U ....................................................................................................................................................................... 2
MC LC .................................................................................................................................................................................. 4
Chng 1: TNG QUAN V X L NH ..................................................................................... 7
1.1. X L NH, CC VN C BN TRONG X L NH .................. 7
1.1.1. X l nh l g? ............................................................................................................................................ 7
1.1.2. Cc vn c bn trong x l nh ........................................................................................ 7
1.1.2.1 Mt s khi nim c bn ........................................................................................................ 7
1.1.2.2 Nn chnh bin dng .................................................................................................................... 8
1.1.2.3 Kh nhiu ................................................................................................................................................. 9
1.1.2.4 Chnh mc xm: ............................................................................................................................... 9
1.1.2.5 Trch chn c im .................................................................................................................... 9
1.1.2.6 Nhn dng ............................................................................................................................................ 10
1.1.2.7 Nn nh ................................................................................................................................................... 11
1.2. THU NHN V BIU DIN NH ........................................................................................... 11
1.2.1. Thu nhn, cc thit b thu nhn nh.................................................................................. 11
1.2.2. Biu din nh .............................................................................................................................................. 12
1.2.2.1. M hnh Raster ............................................................................................................................. 12
1.2.2.2. M hnh Vector ............................................................................................................................ 13
Chng 2: CC K THUT NNG CAO CHT LNG NH ................... 14
2.1. CC K THUT KHNG PH THUC KHNG GIAN .......................... 14
2.1.1. Gii thiu......................................................................................................................................................... 14
2.1.2. Tng gim sng ............................................................................................................................... 14
2.1.3. Tch ngng ................................................................................................................................................ 15
2.1.4. B cm ............................................................................................................................................................... 15
2.1.5. Cn bng histogram ............................................................................................................................ 16
2.1.6. K thut tch ngng t ng ................................................................................................ 17
2.1.7. Bin i cp xm tng th ........................................................................................................... 18
2.2. CC K THUT PH THUC KHNG GIAN ..................................................... 20
2.2.1. Php cun v mu ................................................................................................................................. 20
4

2.2.2. Mt s mu thng dng .................................................................................................................. 21


2.2.3. Lc trung v .................................................................................................................................................. 22
2.2.4. Lc trung bnh ........................................................................................................................................... 24
2.2.5. Lc trung bnh theo k gi tr gn nht ............................................................................ 25
2.3. CC PHP TON HNH THI HC .................................................................................... 26
2.3.1. Cc php ton hnh thi c bn.............................................................................................. 26
2.3.2. Mt s tnh cht ca php ton hnh thi.................................................................... 27
Chng 3: BIN V CC PHNG PHP PHT HIN BIN ..................... 32
3.1. GII THIU ............................................................................................................................................................ 32
3.2. CC PHNG PHP PHT HIN BIN TRC TIP ................................. 32
3.2.1. K thut pht hin bin Gradient......................................................................................... 32
3.2.1.1. K thut Prewitt .......................................................................................................................... 34
3.2.1.2. K thut Sobel............................................................................................................................... 35
3.2.1.3. K thut la bn.............................................................................................................................. 35
3.2.2. K thut pht hin bin Laplace ........................................................................................... 36
3.3. PHT HIN BIN GIN TIP....................................................................................................... 37
3.3.1 Mt s khi nim c bn ................................................................................................................. 37
3.3.2. Chu tuyn ca mt i tng nh....................................................................................... 38
3.3.3. Thut ton d bin tng qut .................................................................................................... 40
Chng 4: XNG V CC K THUT TM XNG ........................................ 44
4.1. GII THIU ............................................................................................................................................................ 44
4.2. TM XNG DA TRN LM MNH ........................................................................... 44
4.2.1. S lc v thut ton lm mnh ........................................................................................... 44
4.2.2. Mt s thut ton lm mnh ...................................................................................................... 46
4.3. TM XNG KHNG DA TRN LM MNH ................................................ 46
4.3.1. Khi qut v lc Voronoi................................................................................................. 47
4.3.2. Trc trung v Voronoi ri rc................................................................................................... 47
4.3.3. Xng Voronoi ri rc .................................................................................................................... 48
4.3.4. Thut ton tm xng ........................................................................................................................ 49
Chng 5: CC K THUT HU X L .................................................................................. 52
5.1. RT GN S LNG IM BIU DIN..................................................................... 52
5.1.1. Gii thiu......................................................................................................................................................... 52
5

5.1.2. Thut ton Douglas Peucker ..................................................................................................... 52


5.1.2.1. tng ................................................................................................................................................. 52
5.1.2.2. Chng trnh ................................................................................................................................... 53
5.1.3. Thut ton Band width .................................................................................................................... 54
5.1.3.1. tng ................................................................................................................................................. 54
5.1.3.2. Chng trnh ................................................................................................................................... 56
5.1.4. Thut ton Angles ................................................................................................................................. 57
5.1.4.1. tng ................................................................................................................................................. 57
5.1.4.2. Chng trnh ................................................................................................................................... 57
5.2. XP X A GIC BI CC HNH C S.................................................................... 58
5.2.1 Xp x a gic theo bt bin ng dng ........................................................................ 59
5.2.2 Xp x a gic theo bt bin aphin ...................................................................................... 62
5.3. BIN I HOUGH ........................................................................................................................................ 63
5.3.1. Bin i Hongh cho ng thng ....................................................................................... 63
5.3.2. Bin i Hough cho ng thng trong ta cc ....................................... 64
5.3.2.1. ng thng Hough trong ta cc ............................................................... 64
5.3.2.2. p dng bin i Hough trong pht hin gc nghing vn bn
..................................................................................................................... 65
PH LC ................................................................................................................................................................................ 68
TI LIU THAM KHO .................................................................................................................................... 76

Chng 1:

TNG QUAN V X L NH
1.1. X L NH, CC VN C BN TRONG X L NH
1.1.1. X l nh l g?
Con ngi thu nhn thng tin qua cc gic quan, trong th gic
ng vai tr quan trng nht. Nhng nm tr li y vi s pht trin ca
phn cng my tnh, x l nh v ho pht trin mt cch mnh m
v c nhiu ng dng trong cuc sng. X l nh v ho ng mt vai
tr quan trng trong tng tc ngi my.
Qu trnh x l nh c xem nh l qu trnh thao tc nh u vo
nhm cho ra kt qu mong mun. Kt qu u ra ca mt qu trnh x l
nh c th l mt nh tt hn hoc mt kt lun.

nh

nh
Tt hn

X L NH

Kt lun
Hnh 1.1. Qu trnh x l nh

nh c th xem l tp hp cc im nh v mi im nh c xem
nh l c trng cng sng hay mt du hiu no ti mt v tr no
ca i tng trong khng gian v n c th xem nh mt hm n bin
P(c1, c2,..., cn). Do , nh trong x l nh c th xem nh nh n chiu.
S tng qut ca mt h thng x l nh:
H quyt nh
Thu nhn nh
(Scanner,
Camera,Sensor)

Tin x l

Trch chn
c im

Hu
x l

i snh rt
ra kt lun
Lu tr

Hnh 1.2. Cc bc c bn trong mt h thng x l nh

1.1.2. Cc vn c bn trong x l nh
1.1.2.1 Mt s khi nim c bn
* nh v im nh:
7

im nh c xem nh l du hiu hay cng sng ti 1 to


trong khng gian ca i tng v nh c xem nh l 1 tp hp cc
im nh.
* Mc xm, mu
L s cc gi tr c th c ca cc im nh ca nh
1.1.2.2 Nn chnh bin dng
nh thu nhn thng b bin dng do cc thit b quang hc v in
t.
Pi
f(Pi)

Pi

nh thu nhn

nh mong mun

Hnh 1.3. nh thu nhn v nh mong mun

khc phc ngi ta s dng cc php chiu, cc php chiu thng


c xy dng trn tp cc im iu khin.
Gi s (Pi, Pi) i = 1, n c n cc tp iu khin
Tm hm f: Pi a f (Pi) sao cho
n

f ( Pi ) Pi '

i =1

min

Gi s nh b bin i ch bao gm: Tnh tin, quay, t l, bin dng


bc nht tuyn tnh. Khi hm f c dng:
f (x, y) = (a1x + b1y + c1, a2x + b2y + c2)
Ta c:

= ( f ( Pi ) Pi ' ) 2 = (a1 xi + b1 yi + c1 xi' ) + (a 2 xi + b2 yi + c2 yi' )


n

i =1

i =1

cho min


=0


=0

b
1

=0

c1

n
n
n
n
2
'
+
+
=
a
x
b
x
y
c
x
1 i 1 i i 1 i x i x i
i =1
i =1
i =1
i =1
n
n
n
n

2
'
+
+
=
a
x
y
b
y
c
y
1 i i 1 i 1 i y i x i
i =1
i =1
i =1
i =1
n
n
n
'
a1 x i + b1 y i + nc1 = x i
i =1
i =1
i =1

Gii h phng trnh tuyn tnh tm c a1, b1, c1


Tng t tm c a2, b2, c2
Xc nh c hm f
1.1.2.3 Kh nhiu
C 2 loi nhiu c bn trong qu trnh thu nhn nh
Nhiu h thng: l nhiu c quy lut c th kh bng cc php
bin i
Nhiu ngu nhin: vt bn khng r nguyn nhn khc phc
bng cc php lc
1.1.2.4 Chnh mc xm:
Nhm khc phc tnh khng ng u ca h thng gy ra. Thng
thng c 2 hng tip cn:
Gim s mc xm: Thc hin bng cch nhm cc mc xm gn
nhau thnh mt b. Trng hp ch c 2 mc xm th chnh l
chuyn v nh en trng. ng dng: In nh mu ra my in
en trng.
Tng s mc xm: Thc hin ni suy ra cc mc xm trung gian
bng k thut ni suy. K thut ny nhm tng cng mn
cho nh
1.1.2.5 Trch chn c im
Cc c im ca i tng c trch chn tu theo mc ch nhn
dng trong qu trnh x l nh. C th nu ra mt s c im ca nh
sau y:
c im khng gian: Phn b mc xm, phn b xc sut, bin ,
im un v.v..
c im bin i: Cc c im loi ny c trch chn bng vic
thc hin lc vng (zonal filtering). Cc b vng c gi l mt n c

im (feature mask) thng l cc khe hp vi hnh dng khc nhau (ch


nht, tam gic, cung trn v.v..)
c im bin v ng bin: c trng cho ng bin ca i
tng v do vy rt hu ch trong vic trch trn cc thuc tnh bt bin
c dng khi nhn dng i tng. Cc c im ny c th c trch
chn nh ton t gradient, ton t la bn, ton t Laplace, ton t cho
khng (zero crossing) v.v..
Vic trch chn hiu qu cc c im gip cho vic nhn dng cc
i tng nh chnh xc, vi tc tnh ton cao v dung lng nh lu
tr gim xung.
1.1.2.6 Nhn dng
Nhn dng t ng (automatic recognition), m t i tng, phn
loi v phn nhm cc mu l nhng vn quan trng trong th gic my,
c ng dng trong nhiu ngnh khoa hc khc nhau. Tuy nhin, mt cu
hi t ra l: mu (pattern) l g? Watanabe, mt trong nhng ngi i u
trong lnh vc ny nh ngha: Ngc li vi hn lon (chaos), mu l
mt thc th (entity), c xc nh mt cch ang ng (vaguely defined) v
c th gn cho n mt tn gi no . V d mu c th l nh ca vn tay,
nh ca mt vt no c chp, mt ch vit, khun mt ngi hoc
mt k tn hiu ting ni. Khi bit mt mu no , nhn dng hoc
phn loi mu c th:
Hoc phn loi c mu (supervised classification), chng hn phn
tch phn bit (discriminant analyis), trong mu u vo c nh danh
nh mt thnh phn ca mt lp xc nh.
Hoc phn loi khng c mu (unsupervised classification hay
clustering) trong cc mu c gn vo cc lp khc nhau da trn mt
tiu chun ng dng no . Cc lp ny cho n thi im phn loi vn
cha bit hay cha c nh danh.
H thng nhn dng t ng bao gm ba khu tng ng vi ba giai
on ch yu sau y:
1o. Thu nhn d liu v tin x l.
2o. Biu din d liu.
3o. Nhn dng, ra quyt nh.
Bn cch tip cn khc nhau trong l thuyt nhn dng l:
1o. i snh mu da trn cc c trng c trch chn.
2o. Phn loi thng k.
3o. i snh cu trc.
10

4o. Phn loi da trn mng n-ron nhn to.


Trong cc ng dng r rng l khng th ch dng c mt cch tip
cn n l phn loi ti u do vy cn s dng cng mt lc nhiu
phng php v cch tip cn khc nhau. Do vy, cc phng thc phn
loi t hp hay c s dng khi nhn dng v nay c nhng kt qu c
trin vng da trn thit k cc h thng lai (hybrid system) bao gm nhiu
m
hnh
kt hp.
Vic gii quyt bi ton nhn dng trong nhng ng dng mi, ny
sinh trong cuc sng khng ch to ra nhng thch thc v thut gii, m
cn t ra nhng yu cu v tc tnh ton. c im chung ca tt c
nhng ng dng l nhng c im c trng cn thit thng l nhiu,
khng th do chuyn gia xut, m phi c trch chn da trn cc th
tc phn tch d liu.
1.1.2.7 Nn nh
Nhm gim thiu khng gian lu tr. Thng c tin hnh theo c
hai cch khuynh hng l nn c bo ton v khng bo ton thng tin.
Nn khng bo ton th thng c kh nng nn cao hn nhng kh nng
phc hi th km hn. Trn c s hai khuynh hng, c 4 cch tip cn c
bn trong nn nh:
Nn nh thng k: K thut nn ny da vo vic thng k tn xut
xut hin ca gi tr cc im nh, trn c s m c chin lc
m ha thch hp. Mt v d in hnh cho k thut m ha ny
l *.TIF
Nn nh khng gian: K thut ny da vo v tr khng gian ca
cc im nh tin hnh m ha. K thut li dng s ging nhau
ca cc im nh trong cc vng gn nhau. V d cho k thut ny
l m nn *.PCX
Nn nh s dng php bin i: y l k thut tip cn theo
hng nn khng bo ton v do vy, k thut thng nn hiu qu
hn. *.JPG chnh l tip cn theo k thut nn ny.
Nn nh Fractal: S dng tnh cht Fractal ca cc i tng nh,
th hin s lp li ca cc chi tit. K thut nn s tnh ton ch
cn lu tr phn gc nh v quy lut sinh ra nh theo nguyn l
Fractal

1.2. THU NHN V BIU DIN NH


1.2.1. Thu nhn, cc thit b thu nhn nh

11

Cc thit b thu nhn nh bao gm camera, scanner cc thit b thu


nhn ny c th cho nh en trng
Cc thit b thu nhn nh c 2 loi chnh ng vi 2 loi nh thng
dng Raster, Vector.
Cc thit b thu nhn nh thng thng Raster l camera cc thit b
thu nhn nh thng thng Vector l sensor hoc bn s ho Digitalizer
hoc c chuyn i t nh Raster.
Nhn chung cc h thng thu nhn nh thc hin 1 qu trnh
Cm bin: bin i nng lng quang hc thnh nng lng in
Tng hp nng lng in thnh nh

1.2.2. Biu din nh


nh trn my tnh l kt qu thu nhn theo cc phng php s ho
c nhng trong cc thit b k thut khc nhau. Qu trnh lu tr nh
nhm 2 mc ch:
Tit kim b nh
Gim thi gian x l
Vic lu tr thng tin trong b nh c nh hng rt ln n vic hin
th, in n v x l nh c xem nh l 1 tp hp cc im vi cng kch
thc nu s dng cng nhiu im nh th bc nh cng p, cng mn v
cng th hin r hn chi tit ca nh ngi ta gi c im ny l
phn gii.
Vic la chn phn gii thch hp tu thuc vo nhu cu s dng
v c trng ca mi nh c th, trn c s cc nh thng c biu
din theo 2 m hnh c bn
1.2.2.1. M hnh Raster
y l cch biu din nh thng dng nht hin nay, nh c biu
din di dng ma trn cc im (im nh). Thng thu nhn qua cc
thit b nh camera, scanner. Tu theo yu cu thc th m mi im nh
c biu din qua 1 hay nhiu bt
M hnh Raster thun li cho hin th v in n. Ngy nay cng ngh
phn cng cung cp nhng thit b thu nhn nh Raster ph hp vi tc
nhanh v cht lng cao cho c u vo v u ra. Mt thun li cho vic
hin th trong mi trng Windows l Microsoft a ra khun dng nh
DIB (Device Independent Bitmap) lm trung gian. Hnh 1.4 th hnh quy
trnh chung hin th nh Raster thng qua DIB.

12

Mt trong nhng hng nghin cu c bn trn m hnh biu din ny


l k thut nn nh cc k thut nn nh li chia ra theo 2 khuynh hng l
nn bo ton v khng bo ton thng tin nn bo ton c kh nng phc
hi hon ton d liu ban u cn nu khng bo ton ch c kh nng
phc hi sai s cho php no . Theo cch tip cn ny ngi ta
ra nhiu quy cch khc nhau nh BMP, TIF, GIF, PCX
Hin nay trn th gii c trn 50 khun dng nh thng dng bao gm
c trong cc k thut nn c kh nng phc hi d liu 100% v nn c
kh nng phc hi vi sai s nhn c.
Paint

BMP
PCC
..
.

Ca s

DIB
Thay i

Hnh 1.4. Qu trnh hin th v chnh sa, lu tr nh thng qua DIB

1.2.2.2. M hnh Vector


Biu din nh ngoi mc ch tit kim khng gian lu tr d dng
cho hin th v in n cn m bo d dng trong la chn sao chp di
chuyn tm kim Theo nhng yu cu ny k thut biu din vector t ra
u vit hn.
Trong m hnh vector ngi ta s dng hng gia cc vector ca
im nh ln cn m ho v ti to hnh nh ban u nh vector c thu
nhn trc tip t cc thit b s ho nh Digital hoc c chuyn i t
nh Raster thng qua cc chng trnh s ho
Cng ngh phn cng cung cp nhng thit b x l vi tc nhanh
v cht lng cho c u vo v ra nhng li ch h tr cho nh Raster.
Do vy, nhng nghin cu v biu din vect u tp trung t chuyn
i t nh Raster.
RASTER

Vecter
ha

VECTOR

Raster
ha

RASTER

Hnh 1.5. S chuyn i gia cc m hnh biu din nh

13

Chng 2:

CC K THUT NNG CAO CHT LNG NH

2.1. CC K THUT KHNG PH THUC KHNG GIAN


2.1.1. Gii thiu
Cc php ton khng ph thuc khng gian l cc php ton khng
phc thuc v tr ca im nh.
V d: Php tng gim sng , php thng k tn sut, bin i
tn sut v.v..
Mt trong nhng khi nim quan trng trong x l nh l biu tn
sut (Histogram)
Biu tn sut ca mc xm g ca nh I l s im nh c gi tr g
ca nh I. K hiu l h(g)
V d:
1
1
2
4
2

I=

2
0
2
1
0

0
0
1
2
1

4
7
0
1
1

h(g)

2.1.2. Tng gim sng


Gi s ta c I ~ kch thc m n v s nguyn c
Khi , k thut tng, gim c sng c th hin
for (i = 0; i < m; i + +)
for (j = 0; j < n; j + +)
I [i, j] = I [i, j] + c;
Nu c > 0: nh sng ln
Nu c < 0: nh ti i

14

2.1.3. Tch ngng


Gi s ta c nh I ~ kch thc m n, hai s Min, Max v ngng
khi : K thut tch ngng c th hin
for (i = 0; i < m; i + +)
for (j = 0; j < n; j + +)
I [i, j] = I [i, j] > = ? Max : Min;
* ng dng:
Nu Min = 0, Max = 1 k thut chuyn nh thnh nh en trng c
ng dng khi qut v nhn dng vn bn c th xy ra sai st nn thnh nh
hoc nh thnh nn dn n nh b t nt hoc dnh.

2.1.4. B cm
K thut nhm gim bt s mc xm ca nh bng cch nhm li s
mc xm gn nhau thnh 1 nhm
Nu ch c 2 nhm th chnh l k thut tch ngng. Thng thng
c nhiu nhm vi kch thc khc nhau.
tng qut khi bin i ngi ta s ly cng 1 kch thc
bunch_size
h(g)

0
I [i,j] = I [i,j]/ bunch - size * bunch_size (i,j)
V d: B cm nh sau vi bunch_size= 3

I=

1
2
7
4

2
1
2
1

4
3
6
2

6
4
9
1

7
5
1
2

15

0
0
6
3

Ikq =

0
0
0
0

3
3
6
0

6
3
9
0

6
3
0
0

2.1.5. Cn bng histogram


nh I c gi l cn bng "l tng" nu vi mi mc xm g, g ta
c h(g) = h(g)
I ~ kch thc m n

Gi s, ta c nh

new_level ~ s mc xm ca nh cn bng
TB =

mn
~ s im nh trung bnh ca mi mc xm
new _ level

ca nh cn bng
g

t ( g ) = h(i )
i =0

~ s im nh c mc xm g

Xc nh hm f: g a f(g)

t(g)
1
TB

Sao cho: f ( g ) = max 0, round

V d: Cn bng nh sau vi new_level= 4


1
2
4
6
7
2
1
3
4
5
I= 7
2
6
9
1
4
1
2
1
2
g

h(g) t(g) f(g)

10

11

14

15

17

19

20

16

0
1
Ikq = 3
2

1
0
1
0

2
1
2
1

2
2
3
0

3
2
0
1

Ch : nh sau khi thc hin cn bng cha chc l cn bng "l tng
"

2.1.6. K thut tch ngng t ng


Ngng trong k thut tch ngng thng c cho bi ngi s
dng. K thut tch ngng t ng nhm tm ra ngng mt cch t
ng da vo histogram theo nguyn l trong vt l l vt th tch lm 2
phn nu tng lnh trong tng phn l ti thiu.
Gi s, ta c nh

I ~ kch thc m n
G ~ l s mc xm ca nh k c khuyt thiu
t(g) ~ s im nh c mc xm g

m( g ) =

1 g
i.h(i)
t ( g ) i =0
~ mmen qun tnh TB c mc xm g

Hm f: g a f (g )
f (g) =

t(g )
[m( g ) m(G 1)]2
mxn t ( g )

Tm sao cho:
f ( ) = max { f ( g )}
0 g <G 1

V d: Tm ngng t ng ca nh sau
0
1
2
3
4
5
0
0
1
2
3
4
I= 0
0
0
1
2
3
0
0
0
0
1
2
0
0
0
0
0
1
Lp bng
g h(g) t(g) g.h(g)

ih(i)

m(g)

f(g)

i =0

15

15

1.35

20

0,25

1.66
17

24

13

0,54

1.54

27

22

0,81

1.10

29

30

1,03

0.49

30

35

1,16

Ngng cn tch = 1 ng vi f()= 1.66

2.1.7. Bin i cp xm tng th


Nu bit nh v hm bin i th ta c th tnh c nh kt qu v do
ta s c c histogram ca nh bin i. Nhng thc t nhiu khi ta ch
bit histogram ca nh gc v hm bin i, cu hi t ra l liu ta c th
c c histogram ca nh bin i. Nu c nh vy ta c th hiu chnh
hm bin i thu c nh kt qu c phn b histogram nh
mong mun.
Bi ton t ra l bit histogram ca nh, bit hm bin i hy v
histogram ca nh mi.
V d:
g

h(g)

g + 1 nu g 2
f(g)=

nu g = 3

g 1 nu g > 3
Bc 1: V Histogram ca nh c
f(g)

18

Bc 2: V th hm f(g)
h(g)

0
Bc 3: V Histogram ca nh mi
t q = f(g)
h(q) = card ({P| I(P) = q})
= card ({P| I(P) = f(g)})
= card ({P| g = f-1 (I(P))})
=

h(i)

i f 1 ( q )

h(g) f(g)

0
Histogram ca nh mi thua c bng cch chng hnh v tnh gi tr
theo cc q (= f(g)) theo cng thc tnh trn. Kt qu cui thu c sau php
quay gc 90 thun chiu kim ng h.

19

2.2. CC K THUT PH THUC KHNG GIAN


2.2.1. Php cun v mu
Gi s ta c nh I kch thc M N, mu T c kch thc m n khi
, nh I cun theo mu T c xc nh bi cng thc.
m 1

I T ( x, y ) =
i =0

m 1

Hoc

I T ( x, y ) =
i =0

n 1

I (x + i, y + j ) * T (i, j )

(2.1)

j =0

n 1

I (x i, y j )* T (i, j )

(2.2)

j =0

VD:

I=

1
2
4
1
7

2
1
5
2
2

T=

1
1

I T ( x, y ) =
i =0

4
1
5
1
2

5
4
8
1
1

8
2
8
4
5

7
2
2
4
2

I (x + i, y + j )*T (i, j ) = I (x, y )*T (0,0) + I (x + 1, y + 1)*T (1,1)


j =0

= I ( x, y ) + I ( x + 1, y + 1)

2
7

3
6

8
9

7
12

10
4

*
*

IT= 6
3
*

6
4
*

6
2
*

12
6
*

12
6
*

*
*
*

Tnh theo cng thc 2.2


*
*
*
*
*
2
3
8

*
7

*
10

IT= *
*
*

12
12
6

4
12
6

7
6
3

6
6
4

9
6
2

Tnh theo (2.1)

20

* Nhn xt:
- Trong qu trnh thc hin php cun c mt s thao tc ra ngoi nh,
nh khng c xc nh ti nhng v tr dn n nh thu c c kch
thc nh hn.
- nh thc hin theo cng thc 2.1 v 2.2 ch sai khc nhau 1 php
dch chuyn n gin ta s hiu php cun l theo cng thc 2.1

2.2.2. Mt s mu thng dng


- Mu:
T1 =

1
1
1

1
1
1

1
1
1

~ Dng kh nhiu Cc im c tn s cao


VD1:
1
2
4
1
7

2
31
5
2
2

4
1
5
1
2

5
4
8
1
1

8
2
8
4
5

7
2
2
4
2

55
52

65
58

45
34

46
35

*
*

*
*

I T1 = 29
*
*

27
*
*

35
*
*

35
*
*

*
*
*

*
*
*

I=

p dng k thut cng hng s vi c = -27, ta c:


28 38 18 19 *
*
25 31 7
8
*
*
Ikq =
2
0
8
8
*
*
*
*
*
*
*
*
*
*
*
*
*
*
- Mu:
0
T2 = -1
0

-1
4
-1

0
-1
0

21

~ Dng pht hin cc im c tn s cao


VD2:
114 -40 0 -14
-22 5 14 16
I T2 =-1 -6 -10 -2
*
*
*
*
*
*

*
*
*

*
*

*
*

*
*
*

*
*

2.2.3. Lc trung v
* nh ngha 2.1 (Trung v)
Cho dy x1; x2...; xn n iu tng (gim). Khi trung v ca dy k
hiu l Med({xn}), c nh ngha:
n

+ Nu n l x + 1
2

n
+ Nu n chn: x hoc x + 1
2

* Mnh 2.1
n

xx
i =1

min ti Med ({xn })

Chng minh
+ Xt trng hp n chn
t M =

n
2

Ta c:
n

i =1

i =1

i =1

x xi = x xi + x x M +i
M

i =1

i =1

= ( x xi + x M + i x ) x M + i xi
M

= [(x M +1 x M ) + ( x M xi )]
i =1

i =1

i =1

= x M + i Med ({xi }) + xi Med ({xi })

22

= xi Med ({xi })
i =1

+ Nu n l:
B sung thm phn t Med ({xi }) vo dy. Theo trng hp n chn
ta c:
n

xx
i =1

+ Med ({xi }) Med ({xi }) min ti Med({xn})

xx
i =1

min ti Med({xn})

* K thut lc trung v
Gi s ta c nh I ngng ca s W(P) v im nh P
Khi k thut lc trung v ph thuc khng gian bao gm cc bc
c bn sau:
+ Bc 1: Tm trung v
{I(q)| q W(P)} Med (P)
+ Bc 2: Gn gi tr
I ( P)
I ( P) =
Med ( P )

I ( P) Med ( P )
Nguoclai

V d:

I=

1
4
4
2

2
16
2
1

3
2
1
2

2
1
1
1

W(3 3); = 2
1
2
3
2
4
2
2
1
Ikq = 4
2
1
1
2
1
2
1
Gi tr 16, sau php lc c gi tr 2, cc gi tr cn li khng thay i
gi tr.

23

2.2.4. Lc trung bnh


* nh ngha 2.2 (Trung bnh)
Cho dy x1, x2, xn khi trung bnh ca dy k hiu AV({xn})
ddc nh ngha:
1 n
AV ({xn }) = round xi
n i =1

* Mnh 2.2
n

( x xi )

i =1

min ti AV ({xn })

Chng minh:
t: ( x) =

(x x )

i =1

Ta c:
n

( x ) = 2 ( x x i )
i =1

' ( x) = 0
n

( x xi ) = 0
i =1

x=

1 n
xi = AV ({xi })
n i =1

''
Mt khc, ( x) = 2n > 0

min ti x = AV ({xi })
K thut lc trung bnh
Gi s ta c nh I, im nh P, ca s W(P) v ngng . Khi k
thut lc trung bnh ph thuc khng gian bao gm cc bc c bn sau:
+ Bc 1: Tm trung bnh
{I(q)| q W(P)} AV(P)

24

+ Bc 2: Gn gi tr
I ( P) AV ( P)

I ( P)
I ( P) =
AV ( P)

Nguoclai

V d:
1
4
4
2

I=

2
16
2
1

3
2
1
2

W(3 3); = 2
1
2
3
4
3
2
Ikq = 4
2
1
2
1
2
Gi tr 16 sau php lc
nguyn sau php lc.

2
1
1
1
2
1
1
1
trung bnh c gi tr 3, cc gi tr cn li gi

2.2.5. Lc trung bnh theo k gi tr gn nht


Gi s ta c nh I, im nh P, ca s W(P), ngng v s k. Khi
, lc trung bnh theo k gi tr gn nht bao gm cc bc sau:
+ Bc 1: Tm K gi tr gn nht
{I(q) q W(p)} {k gi tr gn I(P) nht}
+ Bc 2: Tnh trung bnh
{k gi tr gn I(P) nht} AVk(P)
+ Bc 3: Gn gi tr
I ( P ) AV k ( P )

I ( P)
I ( P) =
AV k ( P )

Nguoclai

V d:

I=

1
4
4
2

2
16
2
1

3
2
1
2

2
1
1
1

W(3 3); = 2; k = 3

25

1
4
4
2

Ikq =

2
8
2
1

3
2
1
2

2
1
1
1

* Nhn xt:
- Nu k ln hn kch thc ca s th k thut chnh l k thut lc
trung bnh
- Nu k= 1 th nh kt qu khng thay i
Cht lng ca k thut ph thuc vo s phn t la chn k.

2.3. CC PHP TON HNH THI HC


2.3.1. Cc php ton hnh thi c bn
Hnh thi l thut ng ch s nghin cu v cu trc hay hnh hc topo
ca i tng trong nh. Phn ln cc php ton ca "Hnh thi" c nh
ngha t hai php ton c bn l php "gin n" (Dilation) v php "co"
(Erosion).
Cc php ton ny c nh ngha nh sau: Gi thit ta c i tng
X v phn t cu trc (mu) B trong khng gian Euclide hai chiu. K hiu
Bx l dch chuyn ca B ti v tr x.
nh ngha 2.3 (DILATION)
Php "gin n" ca X theo mu B l hp ca tt c cc Bx vi x thuc
X. Ta c:
X B = U Bx
xX

nh ngha 2.4 (EROSION)


Php "co" ca X theo B l tp hp tt c cc im x sao cho Bx nm
trong X. Ta c:
X \ B = {x : Bx X}

V d: Ta c tp X nh sau:

x
X = 0
0
0

x
0
x

0
x
x

x
x
0

x
x

0
x

x
x

0
0 B =

0
0

26

x
0
XB=
0
0

x
x

x
x

x
x

x
x
x

x
x
x

x
x
x

x
0
v X\B =
x
x

0
0

0
0

0
0
x
0
x

0
x
0
0
x

x
0
0
0
0

0
0

0
0

nh ngha 2.5 (OPEN)


Php ton m (OPEN) ca X theo cu trc B l tp hp cc im ca
nh X sau khi co v gin n lin lip theo B. Ta c:
OPEN(X,B) = (X \ B) B
V d: Vi tp X v B trong v d trn ta c
0

OPEN(X,B) = (X\B) B = 0

0
0
x
0
x

0
x
x
0
x

x
x
0
0
x

0
0

nh ngha 2.6 (CLOSE)


Php ton ng (CLOSE) ca X theo cu trc B l tp hp cc im
ca nh X sau khi gin n v co lin tip theo B. Ta c:
CLOSE(X,B) = (X B) \ B
Theo v d trn ta c:
0

CLOSE(X,B) = (X B) \ B = 0

x
x
x
x
x

x
x
x
x
x

x
x
0
x
x

0
0

2.3.2. Mt s tnh cht ca php ton hnh thi


* Mnh 2.3 [Tnh gia tng]:
(i) X X

X \ B X \ B B
X B X B

(ii) B B'

X \ B X \ B' X
X B X B

X
27

Chng minh:
(i) X B =

UB

xX

UB

= X ' B

xX '

X \ B = {x / Bx X } {x / Bx X '} = X \ B
(ii) X B =

UB

xX

U B'

= X B'

xX

Theo nh ngha:
X \ B = {x / B' x X } {x / Bx X } = X \ B .
*Mnh 2.4 [Tnh phn phi vi php ]:
(i) X (B B') = (X B) (X B')
(ii) X\ (B B') = (X \ B) (X \B')
Chng minh:
(i) X (B B) = ( X B) (X B)
Ta c: B B B
X (B B) X B

(tnh gia tng)

Tng t:
X ( B B) X B
X (B B) (X B) (X B)

(2.3)

Mt khc,
y X (B B) x X sao cho y (B B)x
y Bx

y Bx

yXB
y X B

y (X B) (X B)
X (B B) (X B ) (X B)

(2.4)

T (2.3) v (2.4) ta c: X (B B) = (X B) (X B)
(ii) X \ (B B) = (X \ B) (X \ B)
Ta c: B B B

X \ (B B) X \ B

(tnh gia tng)

Tng t : X \ (B B) X \ B

X \ (B B) (X \ B) ( X \ B)

(2.5)

28

Mt khc,
x (X \ B) (X \ B)
Bx X

Suy ra, x X \ B

Bx X

x X \ B
( B B)x X
x X \ (B B)

X \ (B B) (X \ B) (X \ B)

(2.6)

T (2.5) v (2.6) ta c: X \ (B B) = (X \ B) (X \ B).


* ngha:
Ta c th phn tch cc mu phc tp tr thnh cc mu n gin
thun tin cho vic ci t.
* Mnh 2.5 [Tnh phn phi vi php ]:
(X Y) \ B = (X \ B) (Y \ B)
Chng minh:
Ta c,

X YX

(X Y) \ B X \ B

Tng t:

(X Y) \ B Y \ B

(X Y) \ B (X \ B) (Y \ B)

(2.7)

Mt khc,
x (X \ B) (Y \ B)
Suy ra x X \ B
xY\B

Bx X
Bx Y

Bx X Y
x ( X Y) \ B
(X Y) \ B (X \ B) (Y \ B)

(2.8)

T (2.7) v (2.8) ta c: (X Y) \ B = (X \ B) (Y \ B).


* Mnh 2.6 [Tnh kt hp]
(i) (X B) B' = X (B B')
(ii) (X \ B) \ B' = X \ (B B')

29

Chng minh:
(i) (X B) B' = X (B' B)
Ta c, (X B) B' = ( U B x ) B'
xX

U (B

B' ) =

x X

U (B B )
'

x X

= X (B' B)
(i) (X \ B) \ B' = X \ (B B')
Trc ht ta i chng minh: B x' X \ B ( B ' B) x X
Tht vy, do B x' X \ B nn y B x' yX \ B
By X

UB

yBx'

( B ' B) x X
Mt khc, ( B ' B) x X ( B x' B) X

UB

yBx'

y B x' ta c By X
hay y B x' ta c y X \ B
Do , B x' X \ B
Ta c, (X \ B) \ B' = {x / B x X } \ B'
= {x/ B x' X \ B}
= {x/ ( B ' B) x X} (do chng minh trn)
= X \ (B B') .
* nh l 2.1 [X b chn bi cc cn OPEN v CLOSE]
Gi s, X l mt i tng nh, B l mu, khi , X s b chn trn
bi tp CLOSE ca X theo B v b chn di bi tp OPEN ca X theo B.
Tc l:
(X B) \ B X (X \ B) B

30

Chng minh:
Ta c: x X Bx X B

(V X B =

UB

x X

x (X B) \ B

(theo nh ngha php co)

(X B) \ B X

(2.9)

Mt khc,
y (X \ B) B, suy ra:
x X \ B sao cho y Bx

(V (X\B) B =

UB

xXB

Bx X y X
Suy ra: X (X \ B) B

(2.10)

T (2.9) v (2.10) Ta c: (X B) \ B X (X \ B) B .
*H qu 2.1 [Tnh bt bin] :
(i) ((X B) \B) B = X B
(ii) ((X \ B) B) \ B = X\B

Chng minh:
(i) Tht vy, t nh l 2.1 ta c X (X B) B
X B ((X B) \B) B (do tnh cht gia tng) (2.11)
Mt khc, cng t nh l 2.1 ta c (X \ B) B X X
Do , thay X bi X B ta c, ((X B) \B) B X B (2.12)
T (2.11) v (2.12) Ta c: ((X B) \B) B = X B
(ii) Tht vy, t nh l 2.1 ta c (X \ B) B X
((X \ B) B) \ B X\B (do tnh cht gia tng) (2.13)
Mt khc, cng t nh l 2.1 ta c X (X B) B X
Do , thay X bi X \ B ta c, X\B ((X \ B) B) \ B (2.14)
T (2.13) v (2.14) Ta c: ((X \ B) B) \ B = X\B (pcm).

31

Chng 3:

BIN V CC PHNG PHP PHT HIN BIN

3.1. GII THIU


Bin l vn quan trng trong trch chn c im nhm tin ti hiu
nh. Cho n nay cha c nh ngha chnh xc v bin, trong mi ng
dng ngi ta a ra cc o khc nhau v bin, mt trong cc o
l o v s thay i t ngt v cp xm. V d: i vi nh en trng,
mt im c gi l im bin nu n l im en c t nht mt im
trng bn cnh. Tp hp cc im bin to nn bin hay ng bao ca
i tng. Xut pht t c s ny ngi ta thng s dng hai phng
php pht hin bin c bn:
Pht hin bin trc tip: Phng php ny lm ni bin da vo s
bin thin mc xm ca nh. K thut ch yu dng pht hin bin
y l da vo s bin i cp xm theo hng. Cch tip cn theo o
hm bc nht ca nh da trn k thut Gradient, nu ly o hm bc hai
ca nh da trn bin i gia ta c k thut Laplace.
Pht hin bin gin tip: Nu bng cch no ta phn c nh
thnh cc vng th ranh gii gia cc vng gi l bin. K thut d bin
v phn vng nh l hai bi ton i ngu nhau v d bin thc hin phn
lp i tng m khi phn lp xong ngha l phn vng c nh v
ngc li, khi phn vng nh c phn lp thnh cc i tng, do
c th pht hin c bin.
Phng php pht hin bin trc tip t ra kh hiu qu v t chu nh
hng ca nhiu, song nu s bin thin sng khng t ngt, phng
php t ra km hiu qu, phng php pht hin bin gin tip tuy kh ci
t, song li p dng kh tt trong trng hp ny.

3.2. CC PHNG PHP PHT HIN BIN TRC TIP


3.2.1. K thut pht hin bin Gradient

32

Theo nh ngha, gradient l mt vct c cc thnh phn biu th tc


thay i gi tr ca im nh, ta c:
f ( x, y )
f ( x + dx, y ) f ( x, y )
= fx
x
dx
f ( x, y )
f ( x, y + dy ) f ( x, y )
= fy
y
dy

Trong , dx, dy l khong cch (tnh bng s im) theo hng x v


y.

* Nhn xt:
Tuy ta ni l ly o hm nhng thc cht ch l m phng v xp x
o hm bng cc k thut nhn chp (cun theo mu) v nh s l tn hiu
ri rc nn o hm khng tn ti.
V d: Vi dx = dy = 1, ta c:
f
x f (x + 1, y ) f (x, y )
f
f (x, y + 1) f (x, y )
y

Do , mt n nhn chp theo hng x l A= ( 1 1)


1

v hng y l B=
1
Chng hn:
0
0
I=
0
0

0
3
3
3

0
3
3
3

0
3
3
3

3
3
*

0
0
*

0
0
*

Ta c,
IA=

0
0
*

0
0
*

*
*
*

* ; I B= 0
*
0
*
*
0
*

I A + I B= 3

3
*

0
*

0
*

*
*
33

3.2.1.1. K thut Prewitt


K thut s dng 2 mt n nhp chp xp x o hm theo 2 hng x
v y l:
-1 0
1
Hx =
-1 0
1
-1 0
1
-1 -1 -1
Hy =
0
0
0
1
1
1
Cc bc tnh ton ca k thut Prewitt
+ Bc 1: Tnh I Hx v I Hy
+ Bc 2: Tnh I Hx + I Hy
V d:
0
0
0
0
0
0

0
0
0
0
0
0

-10 -10
-15 -15

*
*

*
*

-10 -10
-5 -5
*
*
*
*

*
*
*
*

*
*
*
*

15 15 10 5
0
0
0
0
-15 -15 -10 -5

*
*
*

*
*
*

I Hy = -15 -15 -10 -5


*
*
*
*
*
*
*
*

*
*
*

*
*
*

I=

I Hx =

0
5
5
5
0
0

0
5
5
5
0
0

0
0

0
0

0
0
*
*

0
0
*
*

0
5
5
5
0
0

0
5
5
5
0
0

34

15
0
I Hx + I Hy =

15 0 -5
0 -15 -15

*
*

*
*

-15 -15 -20 -15


-15 -15 -15 -10
*
*
*
*
*
*
*
*

*
*
*
*

*
*
*
*

3.2.1.2. K thut Sobel


Tng t nh k thut Prewitt k thut Sobel s dng 2 mt n nhn
chp theo 2 hng x, y l:
-1 0
1
Hx =
-2 0
2
-1 0
1
-1 -2 -1
Hy =
0
0
0
1
2
1
Cc bc tnh ton tng t Prewitt
+ Bc 1: Tnh I Hx v I Hy
+ Bc 2: Tnh I Hx + I Hy
3.2.1.3. K thut la bn
K thut s dng 8 mt n nhn chp theo 8 hng 00, 450, 900, 1350,
180 , 2250, 2700, 3150
5
5 -3
5
5
5
0 -3
H2 = -3 0 -3
H1 = 5
-3 -3 -3
-3 -3 -3
-3 5
5
-3 -3 5
H3 = -3 0
5
H4 = -3 0
5
-3 -3 -3
-3 -3 5
-3 -3 -3
-3 -3 -3
H5 = -3 0
5
H6 = -3 0 -3
-3 5
5
5
5
5
-3 -3 -3
5 -3 -3
H7 = 5
0 -3
H8 = 5
0 -3
5
5 -3
5 -3 -3
0

35

Cc bc tnh ton thut ton La bn


+ Bc 1: Tnh I Hi ; i = 1,8
+ Bc 2:

I H
i =1

3.2.2. K thut pht hin bin Laplace


Cc phng php nh gi gradient trn lm vic kh tt khi m
sng thay i r nt. Khi mc xm thay i chm, min chuyn tip tri
rng, phng php cho hiu qu hn l phng php s dng o hm
bc hai Laplace.
Ton t Laplace c nh ngha nh sau:

2 f 2 f
f = 2 + 2
x
y

Ta c:

2 f
f
= ( f ( x + 1, y ) f ( x, y ) )
2
x
x x x

[ f ( x + 1, y ) f ( x, y )] [ f ( x, y ) f ( x 1, y )]
f ( x + 1, y ) 2 f ( x, y ) + f ( x 1, y )
Tng t,

2 f
f
( f ( x, y + 1) f ( x, y ) )
=
y 2 y y y
[ f ( x, y + 1) f ( x, y )] [ f ( x, y ) f ( x, y 1)]
f ( x, y + 1) 2 f ( x, y ) + f ( x, y 1)
2

Vy: f= f(x+1,y) + f(x,y+1) - 4f(x,y) + f(x-1,y) + f(x,y-1)


Dn ti:

0 1 0

H = 1 4 1
0 1 0

Trong thc t, ngi ta thng dng nhiu kiu mt n khc nhau


xp x ri rc o hm bc hai Laplace. Di y l ba kiu mt n
thng dng:
36

0 1 0
1 1 1
1 2 1

H1 = 1 4 1 H 2 = 1 8 1 H 3 = 2 4 2
0 1 0
1 1 1
1 2 1

VD:
I=

3.3. PHT HIN BIN GIN TIP


3.3.1 Mt s khi nim c bn
*nh v im nh
nh s l mt mng s thc 2 chiu (Iij) c kch thc (MN), trong
mi phn t Iij(i = 1,...,M; j = 1,...,N) biu th mc xm ca nh ti (i,j)
tng ng.
nh c gi l nh nh phn nu cc gi tr Iij ch nhn gi tr 0
hoc 1.
y ta ch xt ti nh nh phn v nh bt k c th a v dng
nh phn bng k thut phn ngng. Ta k hiu l tp cc im vng
(im en) v l tp cc im nn (im trng).
*Cc im 4 v 8-lng ging
Gi s (i,j) l mt im nh, cc im 4-lng ging l cc im k
trn, di, tri, phi ca (i,j):
N4(i,j) = {(i,j) : |i-i|+|j-j| = 1},
v nhng im 8-lng ging gm:
N8(i,j) = {(i,j) : max(|i-i|,|j-j|) =1}.
Trong Hnh 1.2 biu din ma trn 8 lng ging k nhau, cc im P0,
P2, P4, P6 l cc 4-lng ging ca im P, cn cc im P0, P1, P2, P3, P4, P5,
P6, P7 l cc 8-lng ging ca P.

37

P3

P2

P1

P4

P0

P5

P6

P7

Hnh 1.3. Ma trn 8-lng ging k nhau

*i tng nh
Hai im Ps, Pe E, E hoc c gi l 8-lin thng (hoc 4lin thng) trong E nu tn ti tp cc im c gi l ng i
(io,jo)...(in,jn) sao cho (io,jo)= Ps, (in,jn)= Pe, (ir,jr) E v (ir,jr) l 8-lng ging
(hoc 4-lng ging tng ng) ca (ir-1,jr-1) vi r = 1,2,...,n
Nhn xt: Quan h k-lin thng trong E (k=4,8) l mt quan h phn x,
i xng v bc cu. Bi vy l mt quan h tng ng. Mi lp
tng ng c gi l mt thnh phn k-lin thng ca nh. V sau ta s
gi mi thnh phn k-lin thng ca nh l mt i tng nh.

3.3.2. Chu tuyn ca mt i tng nh


nh ngha 3.1: [Chu tuyn]
Chu tuyn ca mt i tng nh l dy cc im ca i tng nh
P1,,Pn sao cho Pi v Pi+1 l cc 8-lng ging ca nhau (i=1,...,n-1) v P1 l
8-lng ging ca Pn, i Q khng thuc i tng nh v Q l 4-lng ging
ca Pi (hay ni cch khc i th Pi l bin 4). K hiu <P1P2..Pn>.
Tng cc khong cch gia hai im k tip ca chu tuyn l di ca
chu tuyn v k hiu Len(C) v hng PiPi+1 l hng chn nu Pi v Pi+1 l
cc 4 lng ging (trng hp cn li th PiPi+1 l hng l).
Hnh 3.1 di y biu din chu tuyn ca nh, trong , P l im khi
u chu tuyn.
P

Hnh 3.1. V d v chu tuyn ca i tng nh

38

nh ngha 3.2 [Chu tuyn i ngu]


Hai chu tuyn C= <P1P2..Pn> v C= <Q1Q2..Qm> c gi l i ngu
ca nhau nu v ch nu i j sao cho:
(i) Pi v Qj l 4-lng ging ca nhau.
(ii) Cc im Pi l vng th Qj l nn v ngc li.
nh ngha 3.3 [Chu tuyn ngoi]
Chu tuyn C c gi l chu tuyn ngoi (Hnh 3.2a) nu v ch nu
(i) Chu tuyn i ngu C l chu tuyn ca cc im nn
(ii) di ca C nh hn di C
nh ngha 3.4 [Chu tuyn trong]
Chu tuyn C c gi l chu tuyn trong (Hnh 3.2b) nu v ch nu:
(i) Chu tuyn i ngu C l chu tuyn ca cc im nn
(ii) di ca C ln hn di C
Chu tuyn C

Chu tuyn C

a) Chu tuyn ngoi

Chu tuyn C
Chu tuyn C

b) Chu tuyn trong

Hnh 3.2. Chu tuyn trong, chu tuyn ngoi

nh ngha 3.5 [im trong v im ngoi chu tuyn]


Gi s C= <P1P2..Pn> l chu tuyn ca mt i tng nh v P l mt
im nh. Khi :
(i) Nu na ng thng xut pht t P s ct chu tuyn C ti s l ln,
th P c gi l im trong chu tuyn C v k hiu in(P,C)
(ii) Nu PC v P khng phi l im trong ca C, th P c gi l
im ngoi chu tuyn C v k hiu out(P,C).
B 3.1 [Chu tuyn i ngu]
Gi s E l mt i tng nh v C= < P1P2..Pn> l chu tuyn ca
E, C =<Q1Q2..Qm> l chu tuyn i ngu tng ng. Khi :

(i) Nu C l chu tuyn trong th in(Qi,C) i (i=1,....,m)


39

(ii) Nu C l chu tuyn ngoi th in(Pi,C) i (i=1,...,n)


B 3.2 [Phn trong/ngoi ca chu tuyn]
Gi s E l mt i tng nh v C l chu tuyn ca E. Khi :
(i) Nu C l chu tuyn ngoi th x E sao cho xC, ta c in(x,C)
(ii) Nu C l chu tuyn trong th x E sao cho xC, ta c out(x,C)
nh l 3.1 [Tnh duy nht ca chu tuyn ngoi]
Gi s E l mt i tng nh v CE l chu tuyn ngoi ca E.
Khi CE l duy nht.

3.3.3. Thut ton d bin tng qut


Biu din i tng nh theo chu tuyn thng da trn cc k thut
d bin. C hai k thut d bin c bn. K thut th nht xt nh bin thu
c t nh vng sau mt ln duyt nh mt th, sau p dng cc thut
ton duyt cnh th. K thut th hai da trn nh vng, kt hp ng thi
qu trnh d bin v tch bin. y ta quan tm cch tip cn th hai.
Trc ht, gi s nh c xt ch bao gm mt vng nh 8-lin thng
, c bao bc bi mt vnh ai cc im nn. D thy l mt vng 4lin thng ch l mt trng ring ca trng hp trn.
V c bn, cc thut ton d bin trn mt vng u bao gm cc
bc sau:

Xc nh im bin xut pht


D bo v xc nh im bin tip theo
Lp bc 2 cho n khi gp im xut pht
Do xut pht t nhng tiu chun v nh ngha khc nhau v im
bin, v quan h lin thng, cc thut ton d bin cho ta cc ng bin
mang cc sc thi rt khc nhau.
Kt qu tc ng ca ton t d bin ln mt im bin ri l im bin
ri+1 (8-lng ging ca ri). Thng thng cc ton t ny c xy dng nh
mt hm i s Boolean trn cc 8-lng ging ca ri. Mi cch xy dng
cc ton t u ph thuc vo nh ngha quan h lin thng v im bin.
Do s gy kh khn cho vic kho st cc tnh cht ca ng bin.
Ngoi ra, v mi bc d bin u phi kim tra tt c cc 8-lng ging ca
mi im nn thut ton thng km hiu qu. khc phc cc hn ch
trn, thay v s dng mt im bin ta s dng cp im bin (mt thuc ,
mt thuc ), cc cp im ny to nn tp nn vng, k hiu l NV v
phn tch ton t d bin thnh 2 bc:

40

Xc nh cp im nn vng tip theo.


La chn im bin
Trong bc th nht thc hin chc nng ca mt nh x trn tp
NV ln NV v bc th hai thc hin chc nng chn im bin.
Thut ton d bin tng qut
Bc 1: Xc nh cp nn-vng xut pht
Bc 2: Xc nh cp nn-vng tip theo
Bc 3: La chn im bin vng
Bc 4: Nu gp li cp xut pht th dng, nu khng quay li
bc 2.
Vic xc nh cp nn-vng xut pht c thc hin bng cch duyt
nh ln lt t trn xung di v t tri qua phi ri kim tra iu kin la
chn cp nn-vng. Do vic chn im bin ch mang tnh cht quy c, nn
ta gi nh x xc nh cp nn-vng tip theo l ton t d bin.
nh ngha 3.6 [Ton t d bin]
Gi s T l mt nh x nh sau: T: NV NV
(b,r) a (b,r)
Gi T l mt ton t d bin c s nu n tho mn iu kin: b,r l
cc 8-lng ging ca r.
Gi s (b,r) NV; gi K(b,r) l hm chn im bin. Bin ca mt
dng c th nh ngha theo mt trong ba cch:

Tp nhng im thuc c mt trn NV, tc l K(b,r)= r


Tp nhng im thuc c trn NV, tc l K(b,r)= b
Tp nhng im o nm gia cp nn-vng, tc l K(b,r) l nhng
im nm gia hai im b v r.
Cch nh ngha th ba tng ng mi cp nn-vng vi mt im
bin. Cn i vi cch nh ngha th nht v th hai mt s cp nnvng c th c chung mt im bin. Bi vy, qu trnh chn im bin
c thc hin nh sau:
i:= 1; (bi,ri):= (bo,ro);
While K(bi,ri)<>K(bn,rn) and i8 do
Begin (bi+1,ri+1)= T(bi,ri); i:= i+1; End;
iu kin dng
Cp nn-vng th n trng vi cp nn vng xut pht: (bn,rn)= (bo,ro)
41

* Xc nh cp nn vng xut pht


Cp nn vng xut pht c xc nh bng cch duyt nh ln lt t
trn xung di v t tri sang phi im em u tin gp c cng vi
im trng trc (theo hng 4) to nn cp nn vng xut pht.
* Xc nh cp nn vng tip theo
u vo: pt, dir
V d: (3, 2) 4
Point orient []= {(1,0);(1;-1);(0;-1);(-1;-1);(-1;0);(-1,1);(0,1);(1,1)};
//Hm tm hng c im en gn nht
BYTE GextNextDir(POINT pt, BYTE dir)
{
BYTE pdir= (dir + 7)%8;
do{
if(getpixel(pt. x+orient [pdir]. x,pt.y+orient [pdir]. y))==BLACK)
return pdir;
pdir = (pdir + 7) %8;
}while(pdir ! = dir);
return. ERR; //im c lp
}
//Gn gi tr cho bc tip theo
pdir = GetNextDir(pt, dir);
if(pdir==ERR) //Kim tra c l im c lp khng?
return. ERR; //im c lp
pt. x = pt. x + orient [pdir]. x;
pt. y = pt. y + orient [pdir]. y ;
tnh gi tr cho hng tip theo ta lp bng da trn gi tr pdir
tnh c trc theo cc kh nng c th xy ra:

42

pdir

im trng trc

Trng so vi en mi

Do cng thc tnh hng tip theo s l :


dir= ((pdir+3)/ 2 * 2)%8 ;

43

Chng 4:

XNG V CC K THUT TM XNG

4.1. GII THIU


Xng c coi nh hnh dng c bn ca mt i tng, vi s t
cc im nh c bn. Ta c th ly c cc thng tin v hnh dng nguyn
bn ca mt i tng thng qua xng.
Mt nh ngha xc tch v xng da trn tnh continuum (tng t
nh hin tng chy ng c) c a ra bi Blum (1976) nh sau: Gi
thit rng i tng l ng nht c ph bi c kh v sau dng ln
mt vng bin la. Xng c nh ngha nh ni gp ca cc vt la v
ti chng c dp tt.

a) nh gc

b) nh xng
Hnh 4.1. V d v nh v xng

K thut tm xng lun l ch nghin cu trong x l nh


nhng nm gn y. Mc d c nhng n lc cho vic pht trin cc
thut ton tm xng, nhng cc phng php c a ra u b mt
mt thng tin. C th chia thnh hai loi thut ton tm xng c bn:

Cc thut ton tm xng da trn lm mnh


Cc thut ton tm xng khng da trn lm mnh

4.2. TM XNG DA TRN LM MNH


4.2.1. S lc v thut ton lm mnh
Thut ton lm mnh nh s nh phn l mt trong cc thut ton quan
trng trong x l nh v nhn dng. Xng cha nhng thng tin bt bin
v cu trc ca nh, gip cho qu trnh nhn dng hoc vect ho sau ny.

44

Thut ton lm mnh l qu trnh lp duyt v kim tra tt c cc im


thuc i tng. Trong mi ln lp tt c cc im ca i tng s c
kim tra: nu nh chng tho mn iu kin xo no tu thuc vo mi
thut ton th n s b xo i. Qu trnh c lp li cho n khi khng cn
im bin no c xo. i tng c bc dn lp bin cho n khi no
b thu mnh li ch cn cc im bin.
Cc thut ton lm mnh c phn loi da trn phng php x l
cc im l thut ton lm mnh song song v thut ton lm mnh tun t.
Thut ton lm mnh song song, l thut ton m trong cc im
c x l theo phng php song song, tc l c x l cng mt lc.
Gi tr ca mi im sau mt ln lp ch ph thuc vo gi tr ca cc lng
ging bn cnh (thng l 8-lng ging) m gi tr ca cc im ny
c xc nh trong ln lp trc . Trong my c nhiu b vi x l mi
vi x l s x l mt vng ca i tng, n c quyn c t cc im
vng khc nhng ch c ghi trn vng ca n x l.
Trong thut ton lm mnh tun t cc im thuc i tng s c
kim tra theo mt th t no (chng hn cc im c xt t tri qua
phi, t trn xung di). Gi tr ca im sau mi ln lp khng nhng
ph thuc vo gi tr ca cc lng ging bn cnh m cn ph thuc vo
cc im c xt trc trong chnh ln lp ang xt.
Cht lng ca thut ton lm mnh c nh gi theo cc tiu
chun c lit k di y nhng khng nht thit phi tho mn ng
thi tt c cc tiu chun.

Bo ton tnh lin thng ca i tng v phn b ca i tng


S tng hp gia xng v cu trc ca nh i tng
Bo ton cc thnh phn lin thng
Bo ton cc im ct
Xng ch gm cc im bin, cng mnh cng tt
Bn vng i vi nhiu
Xng cho php khi phc nh ban u ca i tng
Xng thu c chnh gia ng nt ca i tng c
lm mnh
Xng nhn c bt bin vi php quay.

45

4.2.2. Mt s thut ton lm mnh


Trong phn ny im qua mt s c im, u v khuyt im ca cc
thut ton c nghin cu.
1o. Thut ton lm mnh c in l thut ton song song, to ra xng
8 lin thng, tuy nhin n rt chm, gy t nt, xo hon ton
mt s cu hnh nh.
2o. Thut ton lm mnh ca Toumazet bo ton tt c cc im ct
khng gy t nt i tng. Tuy nhin, thut ton c nhc im
l rt chm, rt nhy cm vi nhiu, xng ch l 4-lin thng v
khng lm mnh c vi mt s cu hnh phc tp
3o. Thut ton lm mnh ca Y.Xia da trn ng bin ca i
tng, c th ci t theo c phng php song song v tun t.
Tc ca thut ton rt nhanh. N c nhc im l gy t nt,
xng to ra l xng gi (c dy l 2 phn t nh).
4o. Thut ton lm mnh ca N.J.Naccache v R.Shinghal. Thut ton
c u im l nhanh, xng to ra c kh nng khi phc nh ban
u ca i tng. Nhc im chnh ca thut ton l rt nhy
vi nhiu, xng nhn c phn nh cu trc ca i tng thp.
5o. Thut ton lm mnh ca H.E.Lu P.S.P Wang tng i nhanh,
gi c tnh lin thng ca nh, nhng li c nhc im l
xng to ra l xng 4-lin thng v xo mt mt s cu
hnh nh.
6o. Thut ton lm mnh ca P.S.P Wang v Y.Y.Zhang da trn
ng bin ca i tng, c th ci t theo phng php song
song hoc tun t, xng l 8-lin thng, t chu nh hng ca
nhiu. Nhc im chnh ca thut ton l tc chm.
7o. Thut ton lm mnh song song thun tu nhanh nht trong cc
thut ton trn, bo ton tnh lin thng, t chu nh hng ca
nhiu. Nhc im l xo hon ton mt s cu hnh nh, xng
to ra l xng 4-lin thng.

4.3. TM XNG KHNG DA TRN LM MNH


tch c xng ca i tng c th s dng ng bin ca i
tng. Vi im p bt k trn i tng, ta bao n bi mt ng bin.
Nu nh c nhiu im bin c cng khong cch ngn nht ti p th p nm
trn trc trung v. Tp tt c cc im nh vy lp thnh trc trung v hay
xng ca i tng. Vic xc nh xng c tin hnh thng qua
hai bc:

46

Bc th nht, tnh khong cch t mi im nh ca i tng n


im bin gn nht. Nh vy cn phi tnh ton khong cch ti tt c
cc im bin ca nh.

Bc th hai, khong cch nh c tnh ton v cc im nh c


gi tr ln nht c xem l nm trn xng ca i tng.

4.3.1. Khi qut v lc Voronoi


Lc Voronoi l mt cng c hiu qu trong hnh hc tnh ton.
Cho hai im Pi, Pj l hai phn t ca tp gm n im trong mt phng.
Tp cc im trong mt phng gn Pi hn Pj l na mt phng H(Pi, Pj)
cha im Pi v b gii hn bi ng trung trc ca on thng PiPj. Do
, tp cc im gn Pi hn bt k im Pj no c th thu c bng cch
giao n-1 cc na mt phng H(Pi, Pj):
V(Pi) = H(Pi, Pj) ij (i= 1,...,n)

(4.1)

nh ngha 4.1 [a gic/S Voronoi]


S Voronoi ca l hp ca tt c cc V(Pi)
Vor() = V(Pi) Pi (l mt a gic)

(4.2)

nh ngha 4.2 [a gic Voronoi tng qut]


Cho tp cc im , a gic Voronoi ca tp con U ca c nh
ngha nh sau:
V(U) = {P| v U, w \ U : d(P,v) < d(P,w)}
= V(Pi) Pi U

(4.3)

4.3.2. Trc trung v Voronoi ri rc


nh ngha 4.3 [Bn khong cch - Distance Map]
Cho i tng S, i vi mi (x, y)S, ta tnh gi tr khong cch
map(x, y) vi hm khong cch d(.,.) nh sau:

(x, y)S: map(x, y) = min d[(x, y), (xi, yi)]


i im bin ca S
trong (x , y ) B(S) - tp cc
i

(4.4)

Tp tt c cc map(x, y), k hiu l DM(S), c gi l bn khong


cch ca S.
Ch : Nu hm khong cch d(.,.) l khong cch Euclide, th phng
trnh (4.4) chnh l khong cch ngn nht t mt im bn trong i tng
ti bin. Do , bn khong cch c gi l bn khong cch
Euclide EDM(S) ca S. nh ngha trn c dng cho c hnh ri rc ln
lin tc.
47

nh ngha 4.4 [Tp cc im bin sinh]


Cho map(x, y) l khong cch ngn nht t (x, y) n bin (theo nh
ngha 4.3). Ta nh ngha: map-1(x, y) = {p| p B(S), d(p,
(x, y)):=map(x, y)}
Khi tp cc im bin sinh ^B(S) c nh ngha bi:
^B(S) = map-1(x, y), (x, y) S

(4.5)

Do S c th cha cc ng bin ri nhau, nn ^B(S) bao gm nhiu


tp con, mi tp m t mt ng bin phn bit:
^B(S)={B1(S),..BN(S)}

(4.6)

nh ngha 4.5 [Trc trung v Voronoi ri rc (DVMA)]


Trc trung v Voronoi ri rc c nh ngha l kt qu ca s
Voronoi bc nht ri rc ca tp cc im bin sinh giao vi hnh sinh S :
DVMA(^B(S)) = Vor(^B(S)) S

(4.7)

4.3.3. Xng Voronoi ri rc


nh ngha 4.6 [Xng Voronoi ri rc - DiscreteVoronoi Skeleton]
Xng Voronoi ri rc theo ngng T, k hiu l SkeDVMA(^B(S),T)
(hoc Ske(^B(S),T)) l mt tp con ca trc trung v Voronoi:
SkeDVMA(^B(S),T)= {(x,y)| (x,y)DVMA(^B(S)), (x,y) > T} (4.8)

: l hm hiu chnh.
D thy nu ngng T cng ln th cng th s lng im tham gia
trong xng Vonoroi cng t (Hnh 4.2).

a)

c)

b)

d)

Hnh 4.2. Xng Voronoi ri rc nh hng ca cc hm hiu chnh khc nhau.


(a) nh nh phn. (b) S Voronoi. (c) Hiu chnh bi hm Potential, T=9.0.
(d) Hiu chnh bi hm Potential, T=18.0

48

4.3.4. Thut ton tm xng


Trong mc ny s trnh by tng c bn ca thut ton tm xng
v m t bng ngn ng ta Pascal.
Tng trng: Vic tnh ton s Voronoi c bt u t mt im
sinh trong mt phng. Sau im sinh th hai c thm vo v qu trnh
tnh ton tip tc vi a gic Voronoi tm c vi im va c thm
vo . C nh th, qu trnh tnh ton s Voronoi c thc hin cho
n khi khng cn im sinh no c thm vo. Nhc im ca chin
lc ny l mi khi mt im mi c thm vo, n c th gy ra s phn
vng ton b cc a gic Voronoi c tnh.
Chia tr: Tp cc im bin u tin c chia thnh hai tp im
c kch c bng nhau. Sau thut ton tnh ton s Voronoi cho c hai
tp con im bin . Cui cng, ngi ta thc hin vic ghp c hai s
Voronoi trn thu c kt qu mong mun. Tuy nhin, vic chia tp cc
im bin thnh hai phn khng phi c thc hin mt ln, m c lp
li nhiu ln cho n khi vic tnh ton s Voronoi tr nn n gin. V
th, vic tnh s Voronoi tr thnh vn lm th no trn hai s
Voronoi li vi nhau.
Thut ton s trnh by y l s kt hp ca hai tng trn. Tuy
nhin, n s mang nhiu dng dp ca thut ton chia tr.
Hnh 4.3 minh ho tng ca thut ton ny. Mi mt im bin
c chia thnh hai phn (bn tri: 1- 6, bn phi: 7-11) bi ng gp
khc , v hai s Voronoi tng ng Vor(SL) v Vor(SR). thu c
s Vornonoi Vor(SL SR), ta thc hin vic trn hai s trn v xc
nh li mt s a gic s b sa i do nh hng ca cc im bn cnh
thuc s kia. Mi phn t ca s l mt b phn ca ng trung trc
ni hai im m mt im thuc Vor(SL) v mt thuc Vor(SR). Trc khi
xy dng , ta tm ra phn t u v cui ca n. Nhn vo hnh trn, ta
nhn thy rng cnh 1 v 5 l cc tia. D nhn thy rng vic tm ra cc
cnh u v cui ca tr thnh vic tm cnh vo t v cnh ra t.

1 t

3
1
CH(SR)

CH(SL)

11

9
10

2
5

Hnh 4.3. Minh ho thut ton trn hai s Voronoi

49

Sau khi tm c t v t, cc im cui ca t c s dng xy


dng phn t u tin ca (1 trong hnh trn). Sau thut ton tm im
giao ca vi Vor(SL) v Vor(SR). Trong v d trn, u tin giao vi
V(3). K t y, cc im nm trn phn ko di s gn im 6 hn im
3. Do , phn t tip theo 2 ca s thuc vo ng trung trc ca im
6 v im 7. Sau im giao tip theo ca s thuc v Vor(SL); by
gi s i vo V(9) v 2 s c thay th bi 3. Qu trnh ny s kt thc
khi gp phn t cui 5.
Trn y ch l minh ho cho thut trn hai s Voronoi trong chin
lc chia tr. Tuy nhin, trong thut ton s trnh by y th s thc
hin c khc mt cht. Tp cc im nh khng phi c a vo ngay t
u m s c qut vo tng dng mt. Gi s ti bc th i, ta thu c
mt s Voronoi gm i-1 hng cc im sinh Vor(Si-1). Tip theo, ta qut
ly mt hng Li cc im nh t tp cc im bin cn li. Thc hin vic
tnh s Voronoi Vor(Li) cho hng ny, sau trn Vor(Si-1) vi Vor(Li).
Kt qu ta s c mt s mi, v li thc hin vic qut hng Li+1 cc
im sinh cn li v.v.. Qu trnh ny s kt thc khi khng cn im bin no
thm vo s Voronoi. Do Vor(Li) s c dng rng lc (nu Li c k
im th Vor(Li) s gm k-1 ng thng ng), nn vic trn Vor(Si-1) vi
Vor(Li) c phn n gin hn.
v5

p8
t

p6

v4

v3

v2
p7

p10

p1

v1

p4

v6
Cc im thuc
Si-1

p9

p2

t
p5
p3

Hnh 4.4. Minh ho thut ton thm mt im bin vo s Voronoi

Gii thut trn c th c m t bng ngn ng ta Pascal nh sau:


Procedure VORONOI
(*Si: Tp cc im ca i dng qut u tin,
0 <= i <=iMAX,
Vor(Si) s Vorronoi ca Si *)

50

Begin
i:=0; Si:=rng;
While (i<imax Si straight_line) do
Begin
(*Khi to s Voronoi cho n khi n cha t nht mt nh*)
increment i;
GetScanLine Li;
Vor(Si) = VoroPreScan(Vor(Si-1, Li));
End
While (i < imax) do
Begin
Increment i;
GetScanLine Li;
Vor(Li) := cc ng trung trc sinh bi cc im sinh thuc Li
Vor(Si) := VoroLink(Vor(Si-1), Vor(Li));
End
End.
Gi s xt trn h to thc. nh vo c qut t di ln. To
y (bin i) tng ng vi tng dng qut c tng dn theo tng dng.
Trong th tc trn, hm quan trng nht l hm VoroLink, hm ny thc
hin vic trn s Voronoi ca Li-1 dng c qut trc vi s
Voronoi ca dng hin ti th i. Trong vng lp trn, hm VoroPreScan l
mt bin th ca hm VoroLink, c nhim v khi to s Voronoi v
thot khi vng lp ngay khi n thnh lp c s Voronoi cha t nht
mt nh. Hm VoroLink thc hin vic trn hai s Voronoi Vor(Si-1) v
Vor(Li) vi nhau thnh Vor(Si).

51

Chng 5:

CC K THUT HU X L

5.1. RT GN S LNG IM BIU DIN


5.1.1. Gii thiu
Rt gn s lng im biu din l k thut thuc phn hu x l. Kt
qu ca phn d bin hay trch xng thu c 1 dy cc im lin tip.
Vn t ra l hiu c th b bt cc im thu c gim thiu khng
quan lu tr v thun tin cho vic i sch hay khng.
Bi ton:
Cho ng cong gm n im trong mt phng (x1, y1), (x2, y2)
(xn,yn). Hy b bt 1 s im thuc ng cong sao cho ng cong mi
nhn c l (Xi1; Yi1), (Xi2; Yi2) (Xim; Yim) gn ging vi ng cong
ban u.
* Mt s o gn ging
+ Chiu di (chiu rng) ca hnh ch nht nh nht cha ng cong
+ Khong cch ln nht t ng cong n on thng ni 2 u mt
ca ng cong
+ T l gia chiu di v chiu rng ca hnh ch nht nh nht cha
ng con
+ S ln ng cong ct on thng ni 2 u mt

5.1.2. Thut ton Douglas Peucker


5.1.2.1. tng

h>

Hnh 5.1. n gin ha ng cng theo thut ton Douglas Peucker

tng c bn ca thut ton Douglas-Peucker l xt xem khong


cch ln nht t ng cong ti on thng ni hai u mt ng cong
(xem Hnh 5.1) c ln hn ngng khng. Nu iu ny ng th im xa
nht c gi li lm im chia ng cong v thut ton c thc hin
52

tng t vi hai ng cong va tm c. Trong trng hp ngc li,


kt qu ca thut ton n gin ho l hai im u mt ca ng cong.
Thut ton Douglas-Peucker:

Bc 1: Chn ngng .
Bc 2: Tm khong cch ln nht t ng cong ti on thng
ni hai u on ng cong h.
Bc 3: Nu h th dng.
Bc 4: Nu h > th gi li im t cc i ny v quay tr li
bc 1.
Nhn xt: Thut ton ny t ra thun li i vi cc ng cong thu nhn
c m gc l cc on thng, ph hp vi vic n gin ho trong qu
trnh vct cc bn v k thut, s thit k mch in v.v..
5.1.2.2. Chng trnh
//Hm tnh ng cao t dinh n on thng ni hai im dau, cuoi
float Tinhduongcao (POINT dau, POINT cuoi, POINT dinh)
{
floot h;

tnh ng cao
returm h ;
}
//Hm quy nhm nh du loi b cc im trong ng cong
void DPSimple(POINT *pLINE,int dau,int cuoi,BOOL *chiso,float )

{
int

i, index = dau;

float h, hmax = 0;
for(i = dau + 1; i < cuoi; i++)
{
h= Tinhduongcao(pLINE[dau], pLINE[cuoi]; pLINE[i]);
if(h > hmax)

{
hmax = h;
index = i;

53

}
}
if(hmax )
for(i= dau + 1; i < cuoi, i++)
chiso[i] = FALSE;
else

{
DPSimple(PLINE, dau, index, chiso, );
DPSimple(PLINE, index, cuoi, chiso, ) ;

}
}
//Hm rt gn s lng im DouglasPeucker
int DouglasPeucker(POINT *pLINE, int n, float )

{
int

i, j;

BOOL chiso [MAX_PT];


for(i = 0; i < m; i++) //Tt c cc im c gi li
chiso[i] = TRUE;
DPSimple(pLINE, 0, n 1, chiso, );
for(i = j = 0; i < n; i ++)
if (chiso [i] ==TRUE)
pLINE[j++] = pLINE[i];
return j;
}

5.1.3. Thut ton Band width


5.1.3.1. tng
Trong thut ton Band Width, ta hnh dung c mt di bng di chuyn
t u mt ng cong dc theo ng cong sao cho ng cong nm
trong di bng cho n khi c im thuc ng cong chm vo bin ca
di bng, im ny s c gi li. Qu trnh ny c thc hin vi phn
cn li ca ng cong bt u t im va tm c cho n khi ht
ng cong. C th nh sau:
54

P3
P2

di

P1

P4
dk
P5

Hnh 5.2. n gin ha ng cong vi thut ton Band Width

Bt u bng vic xc nh im u tin trn ng cong v coi


nh l mt im cht (P1). im th ba (P3) c coi l im ng. im
gia im cht v im ng (P2) l im trung gian. Ban u khong cch
t im trung gian n on thng ni im cht v im ng c tnh
ton v kim tra. Nu khong cch tnh c ny nh hn mt ngng
cho trc th im trung gian c th b i, tin trnh tip tc vi im cht
l im cht c, im trung gian l im ng c v im ng l im k
tip sau im ng c. Trong trng hp ngc li, khong cch tnh c
ln hn ngng cho trc th im trung gian s c gi li, tin trnh
tip tc vi im cht l in trung gian, im trung gian l im ng c
v im ng l im k tip sau im ng c. Tin trnh c lp cho
n ht ng cong (Hnh 5.2 minh ha thut ton Band-Width).
Thut ton Band-Width:

Bc 1: Xc nh im u tin trn ng cong v coi nh l


mt im cht (P1). im th ba (P3) c coi l im
ng. im gia im cht v im ng (P2) l im
trung gian.
Bc 2: Tnh khong cch t im trung gian n on thng ni
hai im cht v im ng.
Bc 3: Kim tra khong cch tm c nu nh hn mt ngng
cho trc th im trung gian c th b i. Trong trng
hp ngc li im cht chuyn n im trung gian.
Bc 4: Chu trnh c lp li th im trung gian c chuyn
n im ng v im k tip sau im ng c ch
nh lm im ng mi..
Nhn xt: Thut ton ny tng tc trong trng hp ng ng cha
nhiu im, iu c ngha l lch gia cc im trong ng thng l
nh, hay dy nt ca ng c vct ho l mnh.

55

5.1.3.2. Chng trnh


//Hm tnh ng cao t nh n on thng ni hai im dau, cuoi
float Tinhduongcao(POINT dau, POINT cuoi, POINT dinh)
{
floot h;

tnh ng cao
returm h ;
}
//Hm quy nhm nh du loi b cc im trong ng cong
void BWSimple(POINT *pLINE, int chot, int tg, BOOL *chiso,
float , int n)
{
if(Tinhduongcao(pLINE[chot], pLINE[tg+1], pLINE[tg]) )
chiso[tg] = 0;
else
chot = tg;
tg = tg + 1
if(tg < n - 1)
BWSimple (pLINE, chot, tg, chiso, , n) ;
}
//Hm rt gn s lng im BandWidth
int BandWidth(POINT *pLINE, int n, floot )

{
int

i, j;

BOOL chiso [MAX_PT];


for (i = 0; i < n; i++)
chiso[i]= TRUE; //Tt c cc im c gi li
BWSimple(pLINE, 0, 1, chiso, , n);
for(i= j= 0; i < n; i++)
if(chiso [i]== TRUE)

56

pLINE [j ++1] = pLINE [i];


return j;
}

5.1.4. Thut ton Angles


5.1.4.1. tng
Tng t nh thut ton Band Width nhng thay vic tnh ton
khong cch bi tnh gc. C th thut ton bt u vi im u ng
cong (P1) l im cht.
P3
P2

k
P4
P5

P1
Hnh 5.3. n gin ha ng cong vi thut ton Angles

im th 3 ca ng cong (P3) l im ng, im gia im cht v


im ng (P2) l im trung gian
Gc to bi im cht, trung gian, ng vi im trung gian l nh
vic tnh ton v kim tra
Nu th im trung gian c th b i trong trng hp ngc li im
cht s l im trung gian c v qu trnh lp vi im trung gian l im
ng c, im ng mi l im k tip sau im ng c. Tin trnh thc
hin cho n ht ng cong.
5.1.4.2. Chng trnh
//Hm tnh ng cao t nh n on thng ni hai im dau, cuoi
float Tinhgoc(POINT dau, POINT cuoi, POINT dinh)
{
float ;

tinhgoc (t vit)
return ;
}
//Hm quy nhm nh du loi b cc im trong ng cong
void ALSimple(POINT *pLINE,int chot,int tg,BOOL *chiso,float ,int n)
{
57

if(Tinhgoc(pLINE[chot], pLINE[tg], pLINE[tg+1]) > )


chiso[tg] = FALSE;
else
chot = tg;
tg = tg + 1;
if(tg < n - 1)
ALSimple(pLINE, chot, tg, chiso, , n);
}
//Hm rt gn s lng im Angles
int Angles(POINT *pLINE, int n, float )

{
int i, j, chiso [MAX];
for (i = 0; i < n; i++) //Tt c cc im c gi li
chiso[i]= TRUE;
ALSiple (PLINE, 0, 1 chiso, , n) ;
for (i = j = 0; i < n; i++)
if (chiso ==TRUE)
pLINE[j++]= pLINE [i];
return j;
}

* Ch :
Vi = 0 thut ton DouglasPeucker v BandWidth s b i cc im
gia thng hng. Thut ton Angles phi c = 180o b i cc im gia
thng hng.

5.2. XP X A GIC BI CC HNH C S


Cc i tng hnh hc c pht hin thng thng qua cc k thut
d bin, kt qu tm c ny l cc ng bin xc nh i tng. l,
mt dy cc im lin tip ng knh, s dng cc thut ton n gin ho
nh Douglas Peucker, Band Width, Angle v.v.. ta s thu c mt polyline
hay ni khc i l thu c mt a gic xc nh i tng du. Vn l
ta cn phi xc nh xem i tng c phi l i tng cn tch hay
khng? Nh ta bit mt a gic c th c hnh dng ta nh mt hnh c

58

s, c th c nhiu cch tip cn xp x khc nhau. Cch xp x da trn cc


c trng c bn sau:
c trng ton cc: Cc m men thng k, s o hnh hc nh chu
vi, din tch, tp ti u cc hnh ch nht ph hay ni tip a gic v.v..
c trng a phng: Cc s o c trng ca ng cong nh
gc, im li, lm, un, cc tr v.v..
Nhn dng i tng
Bt bin
ng dng

Bt bin
Aphin

ng trn
Ellipse
Hnh ch nht

Ellipse
Tam gic
T gic

Hnh 5.4. S phn loi cc i tng theo bt bin

Vic xp x t ra rt c hiu qu i vi mt s hnh phng c bit


nh tam gic, ng trn, hnh ch nht, hnh vung, hnh ellipse, hnh
trn v mt a gic mu.

5.2.1 Xp x a gic theo bt bin ng dng

Hnh 5.5. Xp x a gic bi mt a gic mu

Mt a gic vi cc nh V0,..,Vm-1 c xp x vi a gic mu


U0,..,Un-1 vi o xp x nh sau:
E (V , U ) = min

0 d m 1

d
,
n

59

Trong
d =

n 1

minr

0 2 , R

j =0

kR U j + a V( j + d ) mod m

area (V0 LVm1 )


, vi R l
area (U 0 LU n 1 )

, k=

php quay quanh gc to mt gc .


Trong , d c tnh hiu qu bng cng thc sau:
n 1
n 1
n 1
1 n 1
d = |V( j + d ) mod m |2 | V( j + d ) mod m |2 + k 2 |U j |2 2 k | U jV( j + d ) mod m |
n j =0
j =0
j =0
j =0
d

y Uj, Vj c hiu l cc s phc ti cc nh tng ng. Khi


m >> n th phc tp tnh ton rt ln. Vi cc hnh c bit nh hnh
trn, ellipse, hnh ch nht, hnh xc nh duy nht bi tm v mt nh (a
gic u ) ta c th vn dng cc phng php n gin hn nh bnh
phng ti thiu, cc bt bin thng k v hnh hc.
nh ngha 5.1
Cho a gic Pg c cc nh U0, U1,..., Un(U0 Un) Khi m men bc
p+q c xc nh nh sau:
M pq = x p y q dxdy .
Pg

Trong thc hnh tnh tch phn trn ngi ta thng s dng cng
thc Green hoc c th phn tch phn bn trong a gic thnh tng i s
ca cc tam gic c hng OUiUi+1 .
U2
U

f ( x, y) x

U0

n 1

y q dxdy =

Pg

U3

sign( x y
i =0

O(0,0)

Un-

i +1

f ( x, y) x

xi +1 yi )
y q dxdy

OU iU i +1

Hnh 5.6. Phn tch min a gic thnh tng i s cc min tam gic

60

a. Xp x a gic bng ng trn


Dng phng php bnh phng ti thiu, ta c o xp x:
E(Pg,Cr)= min

a ,b ,cR

1 n 2
( xi + yi2 + axi + byi + c) 2

n i =1

Hnh 5.7. Xp x a gic bng ng trn

b. Xp x a gic bng ellipse


Cng nh i vi ng trn phng trnh xp x i vi ellipse c
cho bi cng thc:
E(Pg,El)=

min

a ,b ,c ,d ,eR

1 n 2
( x + ayi2 + bxi yi + cxi + dyi + e) 2
n i =1 i

Mt bin th khc ca phng php bnh phng ti thiu khi xp x


cc ng cong bc hai c a ra trong [7].
c. Xp x a gic bi hnh ch nht
S dng tnh cht din tch bt bin qua php quay, xp x theo din
tch nh sau: Gi 11 , 20 , 02 l cc m men bc hai ca a gic (tnh theo
din tch). Khi gc quay c tnh bi cng thc sau:
tg2 =

2 11
20 - 02 .

Gi din tch ca hnh ch nht nh nht c cc cnh song song vi


cc trc qun tnh v bao quanh a gic Pg l S.
K hiu E(Pg, Rect)=

S area( Pg)

x
Hnh 5.8. Xp x a gic bng hnh ch nht

61

d. Xp x a gic bi a gic u n cnh


Gi M(x0,y0) l trng tm ca a gic, ly mt nh Q tu ca a
gic, xt a gic u n cnh Pg to bi nh Q vi tm l M.
K hiu E(Pg, Pg)=

area ( Pg ) area ( Pg ' )

E(Pg, En)=min E(Pg,Pg) khi Q chy khp cc nh ca a gic.

5.2.2 Xp x a gic theo bt bin aphin


Trong [7] a ra m hnh chun tc v bt bin aphin, cho php chng
ta c th chuyn bi ton xp x i tng bi bt bin aphin v bi ton
xp x mu trn cc dng chun tc. Nh vy c th a vic i snh cc
i tng vi mu bi cc bt bin ng dng, chng hn vic xp x bi
tam gic, hnh bnh hnh, ellipse tng ng vi xp x tam gic u, hnh
vung, hnh trn v.v... Th tc xp x theo bt bin aphin mt a gic vi
hnh c s c thc hin tun t nh sau:
+ Bc 0:
Phn loi bt bin aphin cc dng hnh c s
Dng hnh c s

Dng chun tc

Tam gic

Tam gic u

Hnh bnh hnh

Hnh vung

Ellipse

ng trn

+ Bc 1:
Tm dng chun tc c s Pg' tho mn iu kin:
m01 = m10 = 0

m02 = m20 = 1
m = m = 0
31
13

(php tnh tin)


(php co dn theo hai trc x, y)

(**)

+ Bc 2:
Xc nh bin i aphin T chuyn a gic thnh a gic Pg dng
chun tc (tho mn tnh cht (**)).
Xp x a gic Pg vi dng chun tc c s Pg tm c bc 1 vi
o xp x E(Pg,Pg).
+ Bc 3:
Kt lun, a gic ban u xp x T-1(Pg) vi o xp x E(Pg,Pg).

62

i vi bc 1 trong [7] a ra hai v d sau:

V d 1:
Tn ti duy nht tam gic u P1P2P3 tho mn tnh cht (**) l
P1=(0,-2),P2= ( 3, ) , P3= ( 3, ) ,

28 3
3 .

V d 2:
Tn ti hai hnh vung

P1P2 P3 P4 tho mn tnh cht (**)

Hnh vung th nht c 4 nh tng ng l (-p,-p),(-p,p), (p,3


p),(p,p), vi p= 4
4

Hnh vung th hai c 4 nh tng ng l (-p,0),(p,0), (0,-p),(0,p),


4
vi p= 3 .

5.3. BIN I HOUGH


5.3.1. Bin i Hongh cho ng thng
Bng cch no ta thu c mt s im vn t ra l cn phi
kim tra xem cc im c l ng thng hay khng
Bi ton:
Cho n im (xi; yi) i = 1, n v ngng hy kim tra n im c to
thnh ng thng hay khng?

* tng
Gi s n im nm trn cng mt ng thng v ng thng c
phng trnh
y = ax + b
V (xi, yi) i = 1, n thuc ng thng nn y1 = ax1 + b, i = 1, n

b = - xia + y1; i = 1, n
Nh vy, mi im (xi; yi) trong mt phng s tng ng vi mt s
ng thng b = - xia + yi trong mt phng tham s a, b. n im (xi; yi) i =
1, n thuc ng thng trong mt phng tng ng vi n ng thng
trong mt phng tham s a, b giao nhau ti 1 im v im giao chnh l a,
b. Chnh l h s xc nh phng trnh ca ng thng m cc im
nm vo.

63

* Phng php:
- Xy dng mng ch s [a, b] v gn gi tr 0 ban u cho tt c cc
phn t ca mng
- Vi mi (xi; yi) v a, b l ch s ca phn t mng tho mn
b = - xia + yi tng gi tr ca phn t mng tng ng ln 1
- Tm phn t mng c gi tr ln nht nu gi tr ln nht tm c so
vi s phn t ln hn hoc bng ngng cho trc th ta c th kt lun
cc im nm trn cng 1 ng thng v ng thng c phng trnh
y = ax + b trong a, b tng ng l ch s ca phn t mng c gi tr ln
nht tm c:
V d:
Cho 5 im (0, 1); (1, 3); (2, 5); (3, 5); (4, 9) v = 80%. Hy kim
tra xem 5 im cho c nm trn cng mt ng thng hay khng? Hy
cho bit phng trnh ng thng nu c?
- Lp bng ch s [a, b] v gn gi tr 0

+ (0, 1): b = 1
+ (1, 3): b = -a + 3
+ (2, 5): b = -2a + 5
+ (3, 5): b = -3a + 5
+ (4, 9): b = -4a + 9
- Tm phn t ln nht c gi tr 4
4/5 = 80%
- Kt lun: 5 im ny nm trn cng 1 ng thng
Phng trnh: y = 2x + 1

5.3.2. Bin i Hough cho ng thng trong ta cc


5.3.2.1. ng thng Hough trong ta cc

64

x.cos+y.sin=r
H

x
Hnh 5.9. ng thng Hough trong to cc

Mi im (x,y) trong mt phng c biu din bi cp (r,) trong ta


cc.
Tng t mi ng thng trong mt phng cng c th biu din bi
mt cp (r,) trong ta cc vi r l khong cch t gc ta ti ng
thng v l gc to bi trc 0X vi ng thng vung gc vi n,
hnh 5.9 biu din ng thng hough trong ta Decard.
Ngc li, mi mt cp (r,) trong to cc cng tng ng biu
dim mt ng thng trong mt phng.
Gi s M(x,y) l m im thuc ng thng c biu din bi (r,),
gi H(X,Y) l hnh chiu ca gc to O trn ng thng ta c:
X= r. cos v Y= r.sin
Mt khc, ta c: OH.HA=0
T ta c mi lin h gia (x,y) v (r,) nh sau: x*cos+y*sin= r.
Xt n im thng hng trong ta cc c phng trnh
x*cos0+y*sin0= r0. Bin i Hough nh x n im ny thnh n ng sin
trong ta cc m cc ng ny u i qua (r0,0). Giao im (r0,0) ca
n ng sin s xc nh mt ng thng trong h ta cc. Nh vy,
nhng ng thng i qua im (x,y) s cho duy nht mt cp (r,) v c
bao nhiu ng qua (x,y) s c by nhiu cp gi tr (r,).
5.3.2.2. p dng bin i Hough trong pht hin gc nghing vn bn
tng ca vic p dng bin i Hough trong pht hin gc nghing
vn bn l dng mt mng tch lu m s im nh nm trn mt
ng thng trong khng gian nh. Mng tch lu l mt mng hai chiu
vi ch s hng ca mng cho bit gc lch ca mt ng thng v ch
s ct chnh l gi tr r khong cch t gc to ti ng thng . Sau
tnh tng s im nh nm trn nhng ng thng song song nhau theo
65

cc gc lch thay i. Gc nghing vn bn tng ng vi gc c tng ga


tr mng tch lu cc i.
Theo bin i Hough, mi mt ng thng trong mt phng tng
ng c biu din bi mt cp (r,). Gi s ta c mt im nh (x,y) trong
mt phng, v qua im nh ny c v s ng thng, mi ng thng li
cho mt cp (r,) nn vi mi im nh ta s xc nh c mt s cp
(r,) tho mn phng trnh Hough.

x.cos+y.sin=r1

0
Hough[][r1]=3

y
x.cos+y.sin=r2

Hough[][r1]=4

Hnh 5.10. ng dng bin i Hough pht hin gc

Hnh v trn minh ho cch dng bin i Hough pht hin gc


nghing vn bn. Gi s ta c mt s im nh, y l nhng im gia
y cc hnh ch nht ngoi tip cc i tng c la chn t cc
bc trc. y, ta thy trn mt phng c hai ng thng song song
nhau. ng thng th nht c ba im nh nn gi tr mng tch lu bng
3, ng thng th hai c gia tr mng tch lu bng 4. Do , tng gi tr
mng tch lu cho cng gc trng hp ny bng 7.
Gi Hough[360][Max] l mng tch ly, gi s M v N tng ng l
chiu rng v chiu cao ca nh, ta c cc bc chnh trong qu trnh p
dng bin i Hough pht hin gc nghing vn bn nh sau:
+ Bc 1: Khai bo mng ch s Hough[][r] vi 0 3600
v 0 r M * M + N * N .
+ Bc 2: Gn gi tr khi to bng 0 cho cc phn t ca mng.
+ Bc 3: Vi mi cp (x,y) l im gia y ca hnh ch nht
ngoi tip mt i tng.
- Vi mi i t 0 n 360 tnh gi tr ri theo cng thc
ri= x.cosi+y.sin
- Lm trn gi tr ri thnh s nguyn gn nht l r0
- Tng gi tr ca phn t mng Hough[i][r0] ln mt
n v.

66

+ Bc 4: Trong mng Hough[][r] tnh tng gi tr cc phn t theo


tng dng v xc nh dng c tng gi tr ln nht.
Do s phn t ca mt phn t mng Hough[0][r0] chnh l s im
nh thuc ng thng x.cos0+y.sin0= r0 v vy tng s phn t ca mt
hng chnh l tng s im nh thuc cc ng thng tng ng c
biu din bi gc ca hng . Do , gc nghing ca ton vn bn
chnh l hng c tng gi tr cc phn t mng ln nht.

67

Ph lc 1:

MT S NH DNG TRONG X L NH

Hin nay trn th gii c trn 50 khun dng nh thng dng.


Sau y l mt s nh dng nh hay dng trong qu trnh x l nh
hin nay.

1. nh dng nh IMG
nh IMG l nh en trng, phn u ca nh IMG c 16 byte
cha cc thng tin:
6 byte u: dng nh du nh dng nh. Gi tr ca 6
byte ny vit di dng Hexa: 0x0001 0x0008 0x0001
2 byte tip theo: cha di mu tin. l di ca dy
cc byte k lin nhau m dy ny s c lp li mt s ln
no . S ln lp ny s c lu trong byte m. Nhiu dy
ging nhau c lu trong mt byte.
4 byte tip: m t kch c pixel.
2 byte tip: s pixel trn mt dng nh.
2 byte cui: s dng nh trong nh.
nh IMG c nn theo tng dng, mi dng bao gm cc gi
(pack). Cc dng ging nhau cng c nn thnh mt gi. C 4 loi
gi sau:

Loi 1: Gi cc dng ging nhau.

Quy cch gi tin ny nh sau: 0x00 0x00 0xFF Count. Ba byte


u tin cho bit s cc dy ging nhau, byte cui cho bit s cc
dng ging nhau.
Loi 2: Gi cc dy ging nhau.
Quy cch gi tin ny nh sau: 0x00 Count. Byte th hai cho bit
s cc dy ging nhau c nn trong gi. di ca dy ghi
u tp.
Loi 3: Dy cc Pixel khng ging nhau, khng lp li v
khng nn c.
Quy cch gi tin ny nh sau: 0x80 Count. Byte th hai cho bit
di dy cc pixel khng ging nhau khng nn c.
68

Loi 4: Dy cc Pixel ging nhau.


Tu theo cc bt cao ca byte u tin c bt hay tt. Nu bt
cao c bt (gi tr 1) th y l gi nn cc byte ch gm bt 0, s
cc byte c nn c tnh bi 7 bt thp cn li. Nu bt cao tt
(gi tr 0) th y l gi nn cc byte gm ton bt 1. S cc byte
c nn c tnh bi 7 bt cn li.
Cc gi tin ca file IMG rt a dng do nh IMG l nh en
trng, do vy ch cn 1 bt cho 1 pixel thay v 4 hoc 8 nh ni
trn. Ton b nh ch c nhng im sng v ti tng ng vi gi
tr 1 hoc 0. T l nn ca kiu nh dng ny l kh cao.

2. nh dng nh PCX
nh dng nh PCX l mt trong nhng nh dng nh c in.
N s dng phng php m ho lot di RLE (Run Length
Encoded) nn d liu nh. Qu trnh nn v gii nn c thc
hin trn tng dng nh. Thc t, phng php gii nn PCX km
hiu qu hn so vi kiu IMG. Tp PCX gm 3 phn: u tp
(header), d liu nh (Image data) v bng mu m rng.
Header ca tp PCX c kch thc c nh gm 128 byte v
c phn b nh sau:
1 byte: ch ra kiu nh dng.Nu l PCX/PCC th n lun c
gi tr l 0Ah.
1 byte: ch ra version s dng nn nh, c th c cc gi
tr sau:
+ 0: version 2.5.
+ 2: version 2.8 vi bng mu.
+ 3: version 2.8 hay 3.0 khng c bng mu.
+ 5: version 3.0 c bng mu.
1 byte: ch ra phng php m ho. Nu l 0 th m ho theo
phng php BYTE PACKED, ngc li l phng
php RLE.
1 byte: S bt cho mt im nh plane.
1 word: to gc tri ca nh. Vi kiu PCX n c gi tr l
(0,0), cn PCC th khc (0,0).
1 word: to gc phi di.
1 word: kch thc b rng v b cao ca nh.

69

1 word: s im nh.
1 word: phn gii mn hnh.
1 word.
48 byte: chia n thnh 16 nhm, mi nhm 3 byte. Mi nhm
ny cha thng tin v mt thanh ghi mu. Nh vy ta c 16
thanh ghi mu.
1 byte: khng dng n v lun t l 0.
1 byte: s bt plane m nh s dng. Vi nh 16 mu, gi tr
ny l 4, vi nh 256 mu (1pixel/8bits) th s bt plane li
l 1.
1 byte: s bytes cho mt dng qut nh.
1 word: kiu bng mu.
58 byte: khng dng.
nh dng nh PCX thng c dng lu tr nh v thao
tc n gin, cho php nn v gii nn nhanh. Tuy nhin, v cu trc
ca n c nh, nn trong mt s trng hp lm tng kch thc lu
tr. Cng v nhc im ny m mt s ng dng s dng mt kiu
nh dng khc mm do hn: nh dng TIFF (Targed Image File
Format) s m t di y.

3. nh dng nh TIFF
Kiu nh dng TIFF c thit k lm nh bt cc vn
lin quan n vic m rng tp nh c nh. V cu trc, n cng
gm 3 phn chnh:
Phn Header(IFH): c trong tt c cc tp TIFF v gm
8 byte:
+ 1 word: ch ra kiu to tp trn my tnh PC hay my
Macintosh. Hai loi ny khc nhau rt ln th t cc
byte lu tr trong cc s di 2 hay 4 byte. Nu trng
ny c gi tr l 4D4Dh th l nh cho my Macintosh,
nu l 4949h l ca my PC.
+ 1 word: version. t ny lun c gi tr l 42. y l c
trng ca file TIFF v khng thay i.
+ 2 word: gi tr Offset theo byte tnh t u ti cu trc
IFD l cu trc th hai ca file. Th t cc byte ny ph
thuc vo du hiu trng u tin.

70

Phn th 2(IFD): Khng ngay sau cu trc IFH m v tr


c xc nh bi trng Offset trong u tp. C th c mt
hay nhiu IFD cng tn ti trong mt file.
Mt IFD bao gm:
+ 2 byte: cha cc DE ( Directory Entry).
+ 12 byte l cc DE xp lin tip, mi DE chim 12 byte.
+ 4 byte: cha Offset tr ti IFD tip theo. Nu y l IFD
cui cng th trng ny c gi tr 0.
Phn th 3: cc DE: cc DE c d di c nh gm 12 byte
v chia lm 4 phn:
+ 2 byte: ch ra du hiu m tp nh c xy dng.
+ 2 byte: kiu d liu ca tham s nh. C 5 kiu tham s
c bn:
1: BYTE (1 byte)
2: ASCII (1 byte)
3: SHORT (2 byte).
4: LONG (4 byte)
5: RATIONAL (8 byte)
+ 4 byte: trng di cha s lng ch mc ca kiu d
liu ch ra. N khng phi l tng s byte cn thit
lu tr. c s liu ny ta cn nhn s ch mc vi kiu
d liu dng.
+ 4 byte: l Offset ti im bt u d liu lin quan ti
du hiu, tc l lin quan vi DE khng phi lu tr vt
l cng vi n nm mt v tr no trong file.
D liu cha trong tp thng c t chc thnh cc nhm
dng (ct) qut ca d liu nh. Cch t chc ny lm gim b nh
cn thit cho vic c tp. Vic gii nn c thc hin theo 4 kiu
khc nhau c lu tr trong byte du hiu nn.

71

4. nh dng file nh BITMAP


Mi file BITMAP gm u file cha cc thng tin chung v file,
u thng tin cha cc thng tin v nh, mt bng mu v mt mng
d liu nh. Khun dng c cho nh sau:
BITMAPFILEHEADER bmfh;
BITMAPINFOHEADER bmih;
RGBQUAD
aColors[];
BYTE
aBitmapBits[];
Trong , cc cu trc c nh ngha nh sau:
typedef struct tagBITMAPFILEHEADER {
UINT
DWORD
UINT
UINT
DWORD

/* bmfh */

bfType;
bfSize;
bfReserved1;
bfReserved2;
bfOffBits;

} BITMAPFILEHEADER;
typedef struct tagBITMAPINFOHEADER {
DWORD
LONG
LONG
WORD
WORD
DWORD
DWORD
LONG
LONG
DWORD
DWORD

/* bmih */

biSize;
biWidth;
biHeight;
biPlanes;
biBitCount;
biCompression;
biSizeImage;
biXPelsPerMeter;
biYPelsPerMeter;
biClrUsed;
biClrImportant;

} BITMAPINFOHEADER, *LPBITMAPINFOHEADER;
vi
biSize

kch thc ca BITMAPINFOHEADER

biWidth

Chiu rng ca nh, tnh bng s im nh

biHeight

Chiu cao ca nh, tnh bng s im nh

72

biPlanes

S plane ca thit b, phi bng 1

biBitCount

S bit cho mt im nh

biCompression

Kiu nn

biSizeImage

Kch thc ca nh tnh bng byte

biXPelsPerMeter

phn gii ngang ca thit b, tnh bng im nh trn


met

biYPelsPerMeter

phn gii dc ca thit b, tnh bng im nh trn


met

biClrUsed

S lng cc mu thc s c s dng

biClrImportant

S lng cc mu cn thit cho vic hin th, bng 0 nu


tt c cc mu u cn hin th

Nu bmih.biBitCount > 8 th mng mu rgbq[] trng, ngc li th


mng mu c 2<< bmih.biBitCount phn t.
typedef struct tagRGBQUAD {
BYTE

rgbBlue;

BYTE

rgbGreen;

BYTE

rgbRed;

BYTE

rgbReserved;

/* rgbq */

} RGBQUAD;
Ta cng c:
typedef struct tagBITMAPINFO {
BITMAPINFOHEADER bmiHeader;
RGBQUAD

bmiColors[1];

} BITMAPINFO, *PBITMAPINFO;

73

Ph lc 2:

CC BC THAO TC VI FILE AVI

AVI l chun video thng c tch hp trong cc th vin ca


cc mi trng lp trnh. x l video, cn c cc thao tc c bn
chuyn v x l nh cc khung hnh (cc frames).

1. Bc 1: M v ng th vin
Trc mi thao tc vi file AVI, chng ta phi m th vin:
AVIFileInit( )
Hm ny khng cn tham s, c nhim v khi ng th vin
cung cp cc hm thao tc vi file AVI. ( l th vin vfw32.lib,
c khai bo trong file vfw.h).
Sau tt c cc thao tc bn phi nh ng th vin m lc
u, ch bng lnh:
AVIFileExit( )
Nu thiu bt c hm no, d l m hay ng th vin th trnh
bin dch u s thng bo li.

2. Bc 2: M v ng file AVI thao tc:


Sau khi m th vin, bn phi m file AVI bn nh thao tc:
AVIFileOpen(PAVIFILE* ppfile, LPCSTR fname, UINT mode,
CLSID pclsidHandler)
Thc cht, hm ny to ra mt vng m cha con tr tr n
file c tn l fname cn m. V ppfile l con tr tr n vng b m
. Tham s mode quy nh kiu m file; chng hn OF_CREATE
to mi, OF_READ c, OF_WRITE ghi . Tham s cui
dng
l NULL.
Trc khi ng th vin, bn phi ng file AVI m, bng
cch dng hm:
AVIFileRelease(PAVIFILE pfile)
Trong , pfile l con tr tr n file cn ng.

74

3. Bc 3:
M dng d liu hnh nh hay m thanh trong file AVI m ra
thao tc:
AVIFileGetStream(PAVIFILE pfile, PAVISTREAM * ppavi,
DWORD fccType, LONG lParam)
Trong , pfile l con tr n file m; ppavi tr n dng d
liu kt qu; fccType l loi dng d liu chn m, l
streamtypeAUDIO nu l ting v streamtypeVIDEO nu l hnh,
lParam m s loi dng c m, l 0 nu ch thao tc vi mt loi
dng d liu.
Sau cc thao tc vi dng d liu ny, bn nh phi ng n li:
AVIStreamRelease(PAVITREAM pavi).

4. Bc 4: Trng hp thao tc vi d liu hnh ca phim


Chun b cho thao tc vi khung hnh (frames):
AVIStreamGetFrameOpen(PAVISTREAM pavi,
LPBITMAPINFOHEADER lpbiWanted)
Trong pavi tr n dng d liu m, lpbiWanted l con
tr tr n cu trc mong mun ca hnh nh, ta dng NULL s
dng cu trc mc nh.
Hm ny tr v i tng c kiu PGETFRAME dng cho
bc 5.
Sau khi thao tc vi cc frame ri, phi gi hm :
AVIStreamGetFrameClose(PGETFRAME pget)

5. Bc 5: Thao tc vi frame
Dng hm
AVIStreamGetFrame(PGETFRAME pget, LONG lpos)
Hm ny tr v con tr tr n d liu ca frame th lpos. D
liu c kiu l DIB nh khi.
Thc hin cc thao tc mong mun.

75

TI LIU THAM KHO

[1]. Lng Mnh B, Nguyn Thanh Thy (2002), Nhp Mn X l nh


s, Nxb Khoa hc v K thut, 2002.
[2]. Anil K.Jain (1989), Fundamental of Digital Image Processing.
Prentice Hall, Engwood cliffs.
[3]. J.R.Paker (1997), Algorithms for Image processing and Computer
Vision. John Wiley & Sons, Inc.
[4]. Randy Crane (1997), A simplified approach to image processing,
Prentice-Hall, Inc.
[5]. John C.Russ (1995), The Image Procesing Handbook. CRC Press, Inc.
[6]. Adrian Low (1991), Introductory Computer Vision and Image
Processing, Copyright (c) 1991 by McGrow Hill Book Company
(UK) Limited.
[7]. T. Pavlidis (1982), Algorithms for Graphics and Image Processing,
Computer Science Press.

76

You might also like