You are on page 1of 69

n tt nghip chuyn ngnh Tin hc Trc a

pMC LC
pMC LC..........................................................................................................1
DANH MC CC HNH V..................................................................................4
DANH MC CC BNG BIU.............................................................................5
THNG TIN KT QU NGHIN CU.................................................................6
M U.................................................................................................................. 7
CHNG
1
GII THIU CHUNG V X L NH..................................................................9
1.1 Tng quan v h thng x l nh....................................................................9
1.2 Nhng vn c bn trong x l nh............................................................10
1.2.1 Nhng khi nim lin quan....................................................................10
1.2.2 Biu din nh.........................................................................................15
1.2.3 Tng cng nh......................................................................................17
1.2.4 Phn vng nh........................................................................................18
1.2.5 Trch chn c tnh.................................................................................18
1.2.6 Nhn dng nh.......................................................................................18
1.2.7 Nn nh..................................................................................................19
1.3 Cc nh dng nh c bn..............................................................................19
1.3.1 nh BMP (Bitmap)................................................................................20
1.3.2 nh JPEG (Joint Photographic Experts Group).....................................20
1.3.3 nh GIF (Graphics Interchange Format)...............................................20
1.3.4 nh WMF (Windows Metafiles)............................................................20
CHNG
2
MT S BI TON V X L NH.................................................................21
2.1 Cc bi ton ci thin nh s dng ton t im...........................................21
2.1.1 Tng gim sng.................................................................................21
Nguyn Ch Hng

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

2.1.2 Tng tng phn...............................................................................22


2.1.3 Bin i m bn ....................................................................................24
2.1.4 Bin i nh en trng...........................................................................24
2.1.5 Cc bi ton vi lc xm(Histogram).............................................25
2.2 Mt s bi ton v lc nhiu nh...................................................................27
2.2.1 Php cun (Tnh chp) v mu (nhn chp) ..........................................28
2.2.2 Lm trn nhiu bng lc tuyn tnh........................................................29
2.2.3 Lm trn nhiu bng lc phi tuyn.........................................................32
2.3 Bi ton v pht hin bin nh.......................................................................34
2.3.1 Khi nim, ngha ca bin trong x l nh..........................................34
2.3.2 Cc phng php pht hin bin............................................................35
CHNG
3
CHNG TRNH NG DNG.............................................................................43
3.1 Gii thiu v chng trnh.............................................................................43
3.2 Cc chc nng ca chng trnh...................................................................44
3.2.1 Chc nng thao tc vi file nh..............................................................44
3.2.2 Chc nng Chnh sa..........................................................................45
3.2.3 Chc nng X l im nh.................................................................46
3.2.4 Chc nng Lc nh.............................................................................49
3.2.5 Chc nng d bin(Edge Detection)......................................................50
3.2.6 Chc nng Zoom nh.............................................................................51
3.3 Mt s hm v th tc chnh trong chng trnh...........................................51
3.3.1 M mt file nh......................................................................................51
3.3.2 In nh ln Form......................................................................................51
3.3.3 Lu File nh sau x l............................................................................52
3.3.4 Hm Undo nh.......................................................................................52
3.3.5 Hm thc hin Zoom nh.......................................................................52
3.3.6 Hm khai bo mt n nhn chp (mu)..................................................53
3.3.7 Hm thc hin nhn chp ma trn .........................................................53
3.3.8 Hm thc hin lc trung v ....................................................................55
3.3.9 Hm pht hin v lm ni bin ..............................................................57
3.3.10 Hm resize Thay i kch thc nh.................................................61
Nguyn Ch Hng

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

KT LUN............................................................................................................64
TI LIU THAM KHO......................................................................................65
PH LC............................................................................................................... 66

Nguyn Ch Hng

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

DANH MC CC HNH V
Hnh 1-1 Qu trnh x l nh.....................................................................................9
Hnh 1-2 Cc giai on chnh trong x l nh...........................................................9
Hnh 1-3 V d v nh en trng..............................................................................11
Hnh 1-4 V d nh xm..........................................................................................12
Hnh 1-5 V d v nh mu .....................................................................................13
Hnh 1-6 Ln cn ca 1 im nh............................................................................13
Hnh 1-7 Lc xm ca nh m........................................................................15
Hnh 1-8 Lc xm nh sng..............................................................................15
Hnh 1-9 Minh ha nh biu din bng m lot di.................................................16
Hnh 1-10 Minh ha biu din bng m xch...........................................................17
Hnh 2-11 nh sau khi tng sng (c =100).........................................................22
Hnh 2-12 Biu dn tng phn.....................................................................23
Hnh 2-13 nh gc v nh kt qu sau khi tng tng phn...................................23
Hnh 2-14 nh gc v nh sau khi bin i m bn ...............................................24
Hnh 2-15 nh gc sau khi c tch ngng........................................................25
Hnh 2-16 Minh ha v Histogram ca nh.............................................................26
Hnh 2-17 Minh ha v cn bng lc xm........................................................27
Hnh 2-18 Tm mt n v cc im ln cn.............................................................29
Hnh 2-19 Minh ha lc trung bnh khng gian.......................................................30
Hnh 2-20 Minh ha lc thng thp.........................................................................31
Hnh 2-21 Minh ha lc thng cao..........................................................................32
Hnh 2-22 Minh ha lc nh trung v.......................................................................33
Hnh 2-23 Cc dng ng bin trong x l nh.....................................................34
Hnh 2-24 Minh ha d bin s dng ton t Sobel................................................37
Hnh 2-25 Minh ha d bin s dng ton t Prewitt..............................................38
Hnh 2-26 Minh ha d bin s dng ton t La bn..............................................39
Hnh 2-27 Minh ha d bin theo k thut Lalace H2..........................................41

Nguyn Ch Hng

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Hnh 2-28 Minh ha d bin theo PP gin tip........................................................42


Hnh 3-29 Giao din chnh ca chng trnh...........................................................43
Hnh 3-30 Cc chc nng con thao tc vi File nh................................................44
Hnh 3-31 Form load nh.........................................................................................44
Hnh 3-32 Form lu nh sau x l...........................................................................45
Hnh 3-33 Cc chc nng con trong chnh sa nh.................................................45
Hnh 3-34 Form resize kch thc cho nh..............................................................46
Hnh 3-35 Chc nng X l im nh.................................................................46
Hnh 3-36 Form thay i tng phn..................................................................47
Hnh 3-37 Form thay i sng............................................................................47
Hnh 3-38 Form phn ngng to nh en trng.....................................................48
Hnh 3-39 Form thay i mu sc............................................................................48
Hnh 3-40 Chc nng Lc nh.................................................................................49
Hnh 3-41 Chc nng d v lm ni bin nh..........................................................50
Hnh 3-42 Form nhp ngng khong cch mu ....................................................50
Hnh 3-43 Chc nng Zoom nh.............................................................................51

DANH MC CC BNG BIU


Bng 1-1 Cu trc mt tp nh................................................................................20

Nguyn Ch Hng

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

THNG TIN KT QU NGHIN CU


1. Thng tin chung
Tn ti:

Lp trnh mt s bi ton c bn trong x l nh s

Sinh vin thc hin: Nguyn Ch Hng


Lp: Tin Hc Trc a K50
H o to: Chnh quy
in thoi: 01685.688.585
Email: chihuong.nguyen@gmail.com
Thi gian thc hin: 2010
2. Mc tiu
Nghin cu tng quan v l thuyt x l nh s (cc thnh phn ca h thng
x l nh, cc khi nim v vn lin quan, b lc nh, bin nh).
Xy dng gii thut mt s bi ton c bn trong x l nh s.
Xy dng chng trnh thc nghim.
3. Ni dung chnh
Chng 1: Gii thiu chung v x l nh.
Chng 2: Mt s bi ton v x l nh s (Gii thiu + Thut ton).
Chng 3: Xy dng chng trnh thc nghim.
4. Kt qu chnh t c
C c nn tng kin thc v x l nh s. T vn dng n xy dng
c thut ton cho mt s bi ton c bn trong x l nh s bng ngn ng C#.
Xy dng c chng trnh thc nghim cho mt s bi ton x l nh s.

Nguyn Ch Hng

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

M U
1. Tng quan tnh hnh nghin cu thuc lnh vc ca ti
X l nh l mt lnh vc mang tnh khoa hc v cng ngh. N l mt ngnh
khoa hc mi m so vi nhiu ngnh khoa hc khc nhng tc pht trin ca n
rt nhanh, kch thch cc trung tm nghin cu, ng dng, c bit l my tnh
chuyn dng ring cho n.
Cc phng php x l nh bt u t cc ng dng chnh: nng cao cht
lng nh v phn tch nh. ng dng u tin c bit n l nng cao cht
lng nh bo c truyn qua cp t Lun n n New York t nhng nm
1920. Vn nng cao cht lng nh c lin quan ti phn b mc sng v
phn gii ca nh. Vic nng cao cht lng nh c pht trin vo khong nhng
nm 1955. iu ny c th gii thch c v sau th chin th hai, my tnh pht
trin nhanh to iu kin cho qu trnh x l nh s thun li. Nm 1964, my tnh
c kh nng x l v nng cao cht lng nh t mt trng v v tinh Ranger 7
ca M bao gm: lm ni ng bin, lu nh. T nm 1964 n nay, cc phng
tin x l, nng cao cht lng, nhn dng nh pht trin khng ngng. Cc phng
php tri thc nhn to nh mng n ron nhn to, cc thut ton x l hin i v
ci tin, cc cng c nn nh ngy cng c p dng rng ri v thu nhiu kt qu
kh quan.
Vit Nam x l nh c a vo ging dy bc i hc khong chc
nm nay. Vic nghin cu, xy dng v pht trin cc ng dng v lnh vc x l
nh l mt vn mi v ang ngy cng c qun tm nhiu hn. c mt s
ng dng c xy dng x l nh trong vin thm, trong y hc hay trong an
ninh v gim st v.v.
2. Tnh cp thit, ngha khoa hc v thc tin ca ti
Trong nhng nm gn 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.
Nguyn Ch Hng

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

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 phn ln tp trung vo l
thuyt, cc bi ton c bn trong x l nh s thng c th hin di dng cng
thc ton hc, khng th hin di dng cng thc thc dng c th lp trnh
c.
V th, vic xy dng thut ton v lp trnh mt s bi ton c bn trong x
l nh s l rt cn thit, gip cho vic nghin cu, tm hiu v l thuyt x l nh
s c trc quan, sinh ng hn v d tip thu hn.

Nguyn Ch Hng

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

CHNG 1
GII THIU CHUNG V X L NH
1.1 Tng quan v h thng x l nh
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.

Hnh 1-1 Qu trnh x l nh


c th hnh dung cu hnh mt h thng x l nh chuyn dng hay mt h
thng x l nh dng trong nghin cu, o to, trc ht chng ta xem xt cc
bc cn thit trong x l nh.

Hnh 1-2 Cc giai on chnh trong x l nh


Trc ht l qu trnh thu nhn nh. nh c th thu nhn qua camera.
Thng nh thu nhn qua camera l tn hiu tng t (loi camera ng kiu CCIR),
nhng cng c th l tn hiu s ha (loi CCD Charge Coupled Device).
Nguyn Ch Hng

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Ngoi ra, nh cng c th thu nhn t v tinh qua cc b cm ng (sensor)


hay nh, tranh c qut trn scanner.
Tip theo l qu trnh s ha (digitalizer) bin i tn hiu tng t sang tn
hiu ri rc(ly mu) v s ha bng lng ha, trc khi chuyn sang giai on x
l, phn tch hay lu tr li.
Qu trnh phn tch nh thc cht bao gm nhiu cng on nh. Trc ht l
cng vic tng cng nh. Do nhng nguyn nhn khc nhau: c th do cht lng
thit b thu nhn nh, do ngun sng hay do nhiu m nh c th b suy bin. Do
vy cn phi tng cng v khi phc nh lm ni bt mt s c tnh ca
nh,hay lm cho nh gn ging vi trng thi gc trng thi trc khi nh b bin
dng. Giai on tip theo l pht hin cc c tnh nh: bin, phn vng nh, trch
chn cc c tnh, v.v
Cui cng, ty theo mc ch ca ng dng m s l giai on nhn dng,
phn lp hay cc quyt nh khc.
1.2 Nhng vn c bn trong x l nh
1.2.1 Nhng khi nim lin quan
a) im nh (pixel element)
Gc ca nh (nh t nhin) l nh lin tc v khng gian v sng. x l
bng my tnh (s), nh cn phi c s ho. S ho nh l s bin i gn ng
mt nh lin tc thnh mt tp im ph hp vi nh tht v v tr (khng gian) v
sng (mc xm). Khong cch gia cc im nh c thit lp sao cho mt
ngi khng phn bit c ranh gii gia chng. Mi mt im nh vy gi l
im nh (PEL: Picture Element) hay gi tt l Pixel. Trong khun kh nh hai
chiu, mi pixel ng vi cp ta (x, y).
b) phn gii ca nh
phn gii (Resolution) ca nh l mt im nh c n nh trn mt
nh s c hin th.
Theo nh ngha, khong cch gia cc im nh phi c chn sao cho mt
ngi vn thy c s lin tc ca nh. Vic la chn khong cch thch hp to
nn mt mt phn b, chnh l phn gii v c phn b theo trc x v y
trong khng gian hai chiu.
Nguyn Ch Hng

10

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

V d: phn gii ca nh trn mn hnh CGA (Color Graphic Adaptor) l


mt li im theo chiu ngang mn hnh: 320 im chiu dc * 200 im nh
(320*200). R rng, cng mn hnh CGA 12 ta nhn thy mn hn mn hnh CGA
17 phn gii 320*200. L do: cng mt mt ( phn gii) nhng din tch
mn hnh rng hn th mn (lin tc ca cc im) km hn.
c) Mc xm ca nh (Gray level)
L kt qu ca s bin i tng ng mt gi tr sng ca mt im nh
vi mt gi tr nguyn dng. Thng thng n xc nh trong khong [0...255].
Ty thuc vo gi tr xm m mi im nh c biu din trn 1, 4, 8, 24 hay 32
bit.
d) nh s
L tp hp hu hn cc im nh, thng c biu din bng mt mng hai
chiu I(m,n) vi m l s hng, n l s ct. Ta k hiu P(x,y) l mt im nh ti v
tr (x, y). S lng im nh trn mi hng hoc cc hng xc nh phn gii ca
nh. nh s c chia lm 3 loi:
nh nh phn
Gi tr xm ca tt cc cc im nh ch nhn gi tr 1 hoc 0. Nh vy mi
im nh trong nh nh phn c biu din bi 1 bit.

Hnh 1-3 V d v nh en trng

Nguyn Ch Hng

11

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

nh xm
Gi tr xm nm trong khong 0255. Nh vy mi im nh trong nh nh
xm c biu din bi 1 byte.

Hnh 1-4 V d nh xm
nh mu
nh mu theo l thuyt ca Thomas l nh t hp t 3 mu c bn: (R), lc
(G), l (B) v thng thu nhn trn cc di bng tn khc nhau. Vi nh mu, cch
biu din cng tng t nh vi nh en trng, ch khc l cc s ti mi phn t
ca ma trn biu din cho ba mu ring r gm: (red), lc (green) v lam (blue).
biu din cho mt im nh mu cn 24 bit. 24 bit ny c chia thnh ba
khong 8 bit. Mi mu cng phn thnh L cp mu khc nhau (thng L=256). Mi
khong ny biu din cho cng sng ca mt trong cc mu chnh.
Mi pixel nh mu k hiu Px, c vit: (T: trong cng thc di y l k
hiu chuyn v)
Px = [ red , green, blue]

Nguyn Ch Hng

(1.1)

12

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Hnh 1-5 V d v nh mu
e) Cc mi quan h c bn gia cc im nh
Ln cn ca mt im nh
Mt im nh p ti ta (x, y) c cc ln cn theo chiu ngang v chiu dc
l: (x+1, y), (x-1, y), (x,y+1), (x, y-1).
Tp hp cc im nh trn c gi l ln cn 4 ca p, k hiu N4(p). Mi
im nh c khong cch n v n (x, y), v nu (x, y) nm trn bin ca nh th
ln cn ca n c th nm ngoi nh
Cc ln cn cho ca p c ta : (x+1, y+1), (x+1, y-1), (x-1, y+1), (x-1, y-1)
Tp ln cn cho c k hiu ND(p).
Tp ln cn cho cng vi ln cn 4 to thnh ln cn 8 ca p, k hiu N8(p).

Hnh 1-6 Ln cn ca 1 im nh

Nguyn Ch Hng

13

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Lin kt gia cc im nh
Cc mi lin kt c s dng xc nh gii hn (Boundaries) ca i
tng vt th hoc xc nh vng trong mt nh. Mt lin kt c c trng bi
tnh lin k gia cc im v mc xm ca chng.
Gi s V l tp cc gi tr mc xm. Mt nh c cc gi tr cng sng t
thang mc xm t 32 n 64 c m t nh sau:
V={32, 33, 63, 64}.
C 3 loi lin kt:
+ Lin kt 4: Hai im nh p v q vi cc gi tr cng sng V c ni l
lin kt 4 nu q nm trong tp N4(p).
+ Lin kt 8: Hai im nh p v q vi cc gi tr cng sng V c gi l
lin kt 8 nu q nm trong tp N8(p).
+ Lin kt m (lin kt hn hp): Hai im nh p v q vi cc gi tr cng
sng V c ni l lin kt m nu: q thuc N4(p) hoc q thuc ND(p).
f) Lc mc xm (Histogram)
Lc mc xm ca nh l mt hm cung cp tun sut xut hin ca mi
mc xm trong nh. Lc mc xm c biu din trong h ta Decac xOy,
trong Ox biu din cc mc xm ca nh (256 mc trong trng hp chng ta
xt), Oy biu din s im nh cho mt mc xm (s im nh c cng mc xm).
Lc mc xm cung cp rt nhiu thng tin v s phn b mc xm ca
nh. Theo thut ng ca x l nh gi l tnh ng ca nh, tnh ng ca nh cho
php phn tch mt khong no phn b phn ln cc mc xm ca nh: nh rt
sng hay rt m. Nu nh sng, lc xm nm bn phi (mc xm cao), cn
nh m th lc xm nm bn tri (mc xm thp).
Hnh minh ha cho lc xm:

Nguyn Ch Hng

14

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Hnh 1-7 Lc xm ca nh m

Hnh 1-8 Lc xm nh sng


1.2.2 Biu din nh
nh sau khi s ho s c lu vo b nh, hoc chuyn sang cc khu tip
theo phn tch. Nu lu tr nh trc tip t cc nh th, i hi dung lng b
nh cc ln v khng hiu qu theo quan im ng dng v cng ngh. Thng
thng, cc nh th c c t (biu din) li (hay n gin l m ho) theo cc
c im ca nh c gi l cc c trng nh (Image Features) nh: bin nh
(Boundary), vng nh (Region). Mt s phng php biu din thng dng:
Biu din bng m chy (Run-Length Code)
Biu din bng m xch (Chaine -Code)
Nguyn Ch Hng

15

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Biu din bng m t phn (Quad-Tree Code)


a) Biu din bng m chy
Phng php ny thng biu din cho vng nh v p dng cho nh nh
phn. Mt vng nh R c th m ho n gin nh mt ma trn nh phn:
U(m,n) = 1 nu (m,n) thuc R
U(m,n) = 0 nu (m,n) khng thuc R

(1.2)

Trong : U(m, n) l hm m t mc xm nh ti ta (m, n). Vi cch biu


din trn, mt vng nh c m t bng mt tp cc chui s 0 hoc 1. Gi s
chng ta m t nh nh phn ca mt vng nh c th hin theo to (x, y) theo
cc chiu v c t ch i vi gi tr 1. Khi dng m t c th l: (x, y)r; trong
(x, y) l to , r l s lng cc bit c gi tr 1 lin tc theo chiu ngang hoc
dc.

Hnh 1-9 Minh ha nh biu din bng m lot di.


b) Biu din bng m xch
Phng php ny thng dng biu din ng bin nh. Mt ng bt
k c chia thnh cc on nh. Ni cc im chia, ta c cc on thng k tip
c gn hng cho on thng to thnh mt dy xch gm cc on. Cc
hng c th chn 4, 8, 12, 24, mi hng c m ho theo s thp phn hoc
s nh phn thnh m ca hng.

Nguyn Ch Hng

16

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Hnh 1-10 Minh ha biu din bng m xch


Theo Hnh 1 -10 ta thy c hng cc im bin v m tng ng l:
A11070110764545432

c) Biu din bng m t phn


Theo phng php m t phn, mt vng ca nh coi nh bao kn bi mt
hnh ch nht. Vng ny c chia lm 4 vng con. Nu vng con gm ton im
en(1) hay ton im trng (0) th khng cn chia tip. Trong trng hp ngc li,
vng con gm c en v trng gi l vng xm li tip tc c chia lm 4 vng
con tip. Qu trnh chia dng li khi khng th chia tip c na, c ngha l vng
con ch cha thun nht im en hay trng. Nh vy, cy biu din gm mt chui
cc k kiu b(black), w(white) v g (grey) km theo k hiu m ha 4 vng con.
Biu din theo phng php ny u vit hn so vi cc phng php trn, nht l so
vi m lot di. Tuy nhin, tnh ton s o cc hnh nh chu vi, mo men l kh
kh.
1.2.3 Tng cng nh
Tng cng nh l bc quan trng, to tin cho x l nh. Tng cng
nh nhm hon thin cc c tnh ca nh nh:
Lc nhiu, hay lm trn nh.
Tng tng phn, iu chnh mc xm ca nh.
Lm ni bin nh.
Cc thut ton trin khai vic nng cao cht lng nh hu ht da trn cc k
thut trong min im, khng gian v tn s.

Nguyn Ch Hng

17

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

1.2.4 Phn vng nh


phn tch cc i tng trong nh, chng ta cn phi phn bit c cc
i tng cn quan tm vi phn cn li ca nh. Nhng i tng ny c th tm
ra c nh cc k thut phn vng nh.
Vng nh l mt chi tit, mt thc th trong ton cnh. Ni n vng nh l
ni n tnh cht b mt ca nh. N l mt tp hp cc im c cng hoc gn
cng mt tnh cht no : mc xm, mu sc ng bao quanh mt vng nh
(Boundary) l bin nh. Cc im trong mt vng nh c bin thin gi tr mc
xm tng i ng u hay tnh kt cu tng ng.
Mt phng php phn vng nh l s dng mt ngng gi tr xm phn
tch nh thnh i tng v nn (nhng im di ngng xm thuc v nn,
ngc li thuc v i tng).
1.2.5 Trch chn c tnh
Da trn cc thng tin thu nhn c qua qu trnh phn vng, kt hp vi cc
k thut x l a ra cc c trng, i tng nh cng nh cc thng tin cn
thit trong qu trnh x l.
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.2.6 Nhn dng nh
Nhn dng l qu trnh phn loi cc i tng c biu din theo mt m
hnh no v gn chng mt tn (gn cho i tng mt tn gi, tc l mt dng)
da theo nhng quy lut v mu chun.
Theo l thuyt v nhn dng, cc m hnh ton hc v nh c phn theo hai
loi nhn dng nh c bn:
Nhn dng theo tham s.
Nhn dng theo cu trc.
Mt s i tng nhn dng kh ph bin hin nay ang c p dng trong
khoa hc v cng ngh l: nhn dng k t (ch in, ch vit tay, ch k in t),
nhn dng vn bn (Text), nhn dng vn tay, nhn dng m vch, nhn dng mt
ngi
Nguyn Ch Hng

18

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Ngoi ra, hin nay mt k thut nhn dng mi da vo k thut mng n ron
ang c p dng v cho kt qu kh quan.
1.2.7 Nn nh
Nhm gim thiu khng gian lu tr ca nh, nn nh thng c tin hnh
theo c hai 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 sut 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.3 Cc nh dng nh c bn
nh thu c sau qu trnh s ha thng c lu li cho cc qu trnh x l
tip theo hay truyn i. Trong qu trnh pht trin ca k thut x l nh, tn ti
nhiu nh dng nh khc nhau t nh en trng (vi nh dng IMG), nh a cp
xm cho n nh mu: (BMP, GIF, JPE). Tuy cc nh dng ny khc nhau, song
chng u tun th theo mt cu trc chung nht. Nhn chung, mt tp nh bt k
thng bao gm 3 phn:
Mo u tp (Header)
D liu nn (Data Compression)
Bng mu (Palette Color)
Nguyn Ch Hng

19

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Bng 1-1 Cu trc mt tp nh


Mo u tp

L phn cha cc thng tin v kiu nh, kch thc, phn gii,
s bit dng cho 1 pixel, cch m ha, v tr bng mu

D liu nn

S liu nh c m ha bi kiu m ha ch ra trong phn


Header.

Bng mu

Bng mu khng nht thit phi c, v d khi nh l en trng.


Nu c, bng mu cho bit s mu dng trong nh v bng mu
c s dng hin th mu ca nh.

1.3.1 nh BMP (Bitmap)


L nh c m t bi mt ma trn cc gi tr s xc nh mu v bng mu
ca cc im nh tng ng khi hin th. u im ca nh Bitmap l tc v v
tc x l nhanh. Nhc im ca n l kch thc rt ln.
1.3.2 nh JPEG (Joint Photographic Experts Group)
y l mt nh dng nh c h tr bi nhiu trnh duyt web. nh JPEG
c pht trin nn dung lng v lu tr nh chp, v c s dng tt nht
cho ha c nhiu mu sc, v d nh l nh chp c scan. File nh JPEG l
nh Bitmap c nn li.
1.3.3 nh GIF (Graphics Interchange Format)
nh GIF c pht trin dnh cho nhng nh c tnh cht thay i. N c
s dng tt nht cho ha c t mu, v d nh l nh hot hnh hoc l nhng bc
v vi nhiu ng thng. File nh GIF l nhng nh Bitmap c nn li.
C hai s khc nhau c bn gia nh GIF v nh JPEG:
+ nh GIF nn li theo cch gi nguyn ton b d liu nh trong khi nh
JPEG nn li nhng lm mt mt s d liu trong nh.
+ nh GIF b gii hn bi s mu nhiu nht l 256 trong khi nh JPEG
khng gii hn s mu m chng s dng.
1.3.4 nh WMF (Windows Metafiles)
L mt tp hp cc lnh GDI dng m t nh v ni dung nh. C hai u
im khi s dng nh WMF: kch thc file WMF nh v t ph thuc vo thit b
hin th hn so vi nh Bitmap.

Nguyn Ch Hng

20

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

CHNG 2
MT S BI TON V X L NH
2.1 Cc bi ton ci thin nh s dng ton t im
X l im nh thc cht l bin i gi tr mt im nh da vo gi tr ca
chnh n m khng h da vo cc im nh khc. C hai cch tim cn vi phng
php ny. Cch th nht dng mt hm bin i thch hp vi mc ch hoc yu
cu t ra bin i gi tr mc xm ca im nh sang mt gi tr mc xm khc.
Cch th hai l dng lc mc xm (Gray Histogram). V mt ton hc, ton t
im l mt nh x t gi tr cng nh sng u(m, n) ti to (m, n) sang gi tri
cng nh sng khc v(m, n) thng qua hm f, tc l:
v ( m, n) = f (u ( m, n))

(2.3)

Ni mt cch khc, ton t im l ton t khng b nh, mt mc xm


u [0, N ] c nh x sang mt mc xm v [0, N ] : v = f (u). ng dng chnh ca
cc ton t im l bin i tng phn ca nh. nh x f khc nhau ty theo
cc ng dng. Cc dng ton t im c gii thiu c th nh sau:
2.1.1 Tng gim sng
Gi s ta c nh u vo I ~ kch thc (m x n) v s nguyn c
Khi , k thut tng, gim sng c th hin qua thut ton:
B1: Vi mi im nh, thc hin php cng mc xm ca n vi gi tr c
for (int i = 0; i < m; i + +)
for (int j = 0; j < n; j + +)
I [i, j] = I [i, j] + c;
B2: Gn gi tr xm mi cho im nh u ra.
Nu c > 0: nh sng ln.
Nu c < 0: nh ti i.
minh ha cho bi ton ny ta xem xt mt v d v s thay i ca nh gc
sau khi ta cho tng sng ca n l c =100.

Nguyn Ch Hng

21

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

nh gc

nh sau khi tng mc sng c = +100

Hnh 2-11 nh sau khi tng sng (c =100)


2.1.2 Tng tng phn
Trc tin cn lm r khi nim tng phn. nh s l tp hp cc im,
mi im c gi tr sng khc nhau. y, sng mt ngi d cm nhn
nh song khng phi l quyt nh. Thc t ch ra rng hai i tng c cng
sng nhng t trn hai nn khc nhau s cho cm nhn sng khc nhau. Nh vy,
tng phn biu din s thay i sng ca i tng so vi nn. Ni mt cch
khc, tng phn l ni ca im nh hay vng nh so vi nn. Nh vy, nu
nh c tng phn km, ta c th thay i ty theo mun theo hm sau:
u

f (u ) = (u a ) + Va
(u b) + V
b

u <a
a u <b
b u < L

(2.4)

Cc dc , , xc nh tng phn tng i. L l s mc xm cc


i. Ta c:
= = =1 nh kt qu trng vi nh gc.
, , > 1 dn tng phn.
, , < 1 co tng phn.

Nguyn Ch Hng

22

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Hnh 2-12 Biu dn tng phn


Thut ton:
B1: Nhp vo cc cn a, b, Va v Vb.
B2: Tnh gi tr cc i lng , , .
B3: For(Vi mi im nh)
Nu gi tr xm I ca n < a: I(x,y)= I(xy)*
Nu gi tr xm I ca n a < I < b th: I = ( I a ) * + Va
Nu gi tr xm I ca im nh I > b th: I = ( I b) * + Vb
B4: Gn gi tr xm mi tr li cho im nh.
Hnh minh ha:

nh gc

nh sau khi tng tng phn

Hnh 2-13 nh gc v nh kt qu sau khi tng tng phn

Nguyn Ch Hng

23

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

2.1.3 Bin i m bn
m bn nhn c bng php bin i m. Php bin i ny c rt nhiu hu
ch cho cc phim nh dng trong y hc.
f (u ) = L u

(2.5)

Gi s ta c nh I ~ kch thc (m x n). Khi : K thut bin i m bn


c th hin qua thut ton sau:
B1: Vi mi im nh, thc hin php ton thay i mc xm ca n
for (int i = 0; i < m; i + +)
for (int j = 0; j < n; j + +)
I[i,j] = 255 I[i,j];
B2: Gn gi tr mc xm mi cho nh u ra
Hnh minh ha:

nh gc

nh c bin i m bn

Hnh 2-14 nh gc v nh sau khi bin i m bn


2.1.4 Bin i nh en trng
chuyn i mt nh mu sang nh en trng ta dng k thut tch ngng.
Gi s ta c nh I ~ kch thc (m x n), hai s Min, Max v ngng . Khi : K
thut tch ngng c th hin qua thut ton sau:
B1: Thc hin vng lp,thay i gi tr xm ca tng im nh
for (i = 0; i < m; i + +)
for (j = 0; j < n; j + +)
I [i, j] = I [i, j] > = ? Max: Min ( trng hp ny Max =1, Min = 0)
B2: Gn cc gi tr xm mi cho nh u ra.
Hnh minh ha:
Nguyn Ch Hng

24

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

nh gc

nh en trng

Hnh 2-15 nh gc sau khi c tch ngng


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.5 Cc bi ton vi lc xm(Histogram)
a) Hin th lc xm ca nh
Theo nh ngha ca lc xm, th vic xy dng n l kh n gin. Thut
ton xy dng lc xm c th miu t nh sau:
Bt u
H l bng chc lc xm (l vc t c N phn t)
B1:. Khi to bng v t tt c cc phn t ca bng l 0.
B2: To bng
Vi mi im nh I(x,y) tnh H[I(x,y)] = H[I(x,y)] + 1
B3: Tnh gi tr Max ca bng H. Sau hin bng trong khong t 0
n Max.
Kt thc
Hnh minh ha:

Nguyn Ch Hng

25

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

nh gc

Lc mc xm

Hnh 2-16 Minh ha v Histogram ca nh


Lc xm l mt cng c hu hiu dng trong nhiu cng on ca tng
cng x l nh.
b) Cn bng lc xm
Vi mt nh t nhin c lng ha mt cch tuyn tnh, phn ln cc im
nh c gi tr thp hn sng trung bnh. Trong min ti, ta kh c th cm nhn
cc chi tit ca nh. Thc t cn phi khc phc nhc im ny bng cch bin i
lc xm. Ngi ta bin i lc sao cho tin gn ti lc nh trc. C
nhiu phng php, trong phng php ph dng nht l san bng lc .
Nu nh c kch thc (p x p) v nh kt qu c m ha trn N F mc xm
th s im nh cho mt mc xm trong lc cn bng l tng s l hng s v
bng P 2 / N F ( N F l s mc xm u xa). Trn thc t, N F thng nh hn N I
(s mc xm ban u).
Ta c thut ton cn bng lc xm nh sau:
Vi bc nh u vo I(m,n)
B1: Tnh t chc H[i] ca nh.
B2: Tnh t l xut hin ca mc xm H[i] trn nh(H[i]/m*n).
B3: Tnh mt xc sut ca cc mc xm H[i](Hc[i]=H[i]+H[i-1]).
B4: San bng mc xm v gn cc mc xm mi cho im nh u
ra.(Eq[i]=255*hc[i]).
Hnh minh ha:

Nguyn Ch Hng

26

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

nh gc

nh sau khi cn bng lc xm

Hnh 2-17 Minh ha v cn bng lc xm


2.2 Mt s bi ton v lc nhiu nh
Thng th nh thu nhn sau khi c s ha c th gy nhiu. Trn thc t
tn ti nhiu loi nhiu, tuy nhin ngi ta thng xem xt 3 loi nhiu chnh: nhiu
cng, nhiu nhn v nhiu xung:
Nhiu cng
Nhiu cng thng phn b khp nh. Nu gi nh quan st (nh thu c) l
Xqs, nh gc l Xgoc, nhiu l , nh thu c c th biu din bi:
Xqs = Xgoc +

(2.6)

Nhiu nhn
Nhiu nhn thng phn b khp nh v nh thu c s biu din vi cng
thc:
Xqs = Xgoc *

(2.7)

Nhiu xung
Nhiu xung thng gy t bin ti mt s im nh.
C s x l im nh b nhiu l dng thng tin ca cc im nh ln cn.
Thay th gi tr im nh cn x l bng t hp gi tr cc im nh ln cn. Vic
thay th da trn gi nh l cc im nh ln cn c gi tr gn ging vi im nh
cn xt.
V k thut, ngi ta s dng mt mt n di chuyn khp nh gc, t tri qua
phi v t trn xung di. mi v tr ca nh, tnh ton theo cc im trong mt
Nguyn Ch Hng

27

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

n v thay vo gi tr cho im tm mt n. Theo cc loi mt n khc nhau m c


cc cch tnh khc nhau, t hp gi tr cc im ln cn im c xt.
2.2.1 Php cun (Tnh chp) v mu (nhn chp)
Tnh chp l mt khi nim rt quan trng trong x l nh. Ton t tnh chp
c nh ngha nh sau:
Gi s ta c nh I kch thc (M x N), mu T c kch thc (m x n) khi ,
nh I cun theo mu T c xc nh bi cng thc:
m 1 n 1

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

(2.8)

i =0 j =0

Hoc:
m 1 n 1

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

(2.9)

i =0 j =0

VD: Gi s ta c:
1
2

I = 4

1
5
2
2

1
5
1
2

4
8
1
1

2
8
4
5

7
2

4
1

V T = 0 1

Khi :
m 1 n 1

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


i =0 j =0

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

I T = 6

10

6
6
4
*

9
6
2
*

12
12
6
*

4
12
6
*

*
*

*
*

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.

Nguyn Ch Hng

28

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

- nh thc hin theo 2 cng thc trn ch sai khc nhau 1 php dch chuyn
n gin ta s hiu php cun l theo cng thc u tin.
2.2.2 Lm trn nhiu bng lc tuyn tnh
Trong k thut lc tuyn tnh, nh s l tng trng s hay l trung bnh trng
s cc im ln cn vi nhn chp hay mt n. Nguyn tc lc theo tng trng
lng c trnh by trong hnh Hnh 2 -18. Th d tm mt n l im P5 thi im
P5 mi s c tnh theo cng thc sau:
P5 = P1 K 1 + P2 K 2 + P3 K 3 + P4 K 4 + P5 K 5 + P6 K 6 + P7 K 7 + P8 K 8 + P9 K 9

(2.10)

Hnh 2-18 Tm mt n v cc im ln cn
Ta c thut ton cho lc tuyn tnh:
B1: Nhp vo ma trn nhn chp H.
B2: Thc hin vng lp:
For (int i=0 ; i<=chiu cao nh -2 ; i++) //tr i bin nh ngang.
For(int j=0 ; j<= chiu rng nh -2; j++) // tr i bin nh dc.
{
Thc hin nhn chp: I (i, j ) H
}
B3: Gn gi tr trung bnh ny cho nh u ra.
a) Lc trung bnh khng gian
Vi lc trung bnh, mi im nh c thay th bng trung bnh trng s ca
cc im ln cn v c nh ngha nh sau:
v ( m, n) =

a(k , l ) y (m k , n l )

( k ,l )W

Nguyn Ch Hng

29

(2.11)

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Nu trong k thut lc trn, ta dng cc trng s nh nhau, phng trnh tr


thnh:
v ( m, n) =

Vi

1
Nw

y (m k , n l )

(2.12)

( k ,l )W

+ y(m,n): nh u vo.
+ v(m,n): nh u ra.
+ w(m,n): L ca s l.c
+ a(k,l): L trng s lc.
1

Vi a k ,l = N v N W l s im nh trong ca s lc W.
w
Lc trung bnh c trng s chnh l thc hin chp nh u vo vi nhn chp
H. Nhn chp H trong trng hp ny c dng:
1 1 1
1
H = 1 1 1

9
1 1 1

Hnh minh ha:

nh gc

nh sau khi lc trung bnh khng gian

Hnh 2-19 Minh ha lc trung bnh khng gian


b) Lc thng thp
Lc thng thp thng c s dng lm trn nhiu. V nguyn l ging
nh trnh by trn. Trong k thut ny ngi ta hay dng mt s nhn chp
sau:

Nguyn Ch Hng

30

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

H t1

0
1
= 1
8

1
2
1

1
1
b
Hb =
2
(b + 2)
1

0
1

b
b

1
b
1

Ta d dng nhn thy khi b=1, H b chnh l nhn chp H 1 (Lc trung bnh)
hiu r hn bn cht kh nhiu cng ca cc b lc ny, ta vit li phng
trnh thu nhn nh di dng:
X qs [ m, n] = X goc [ m, n] +[ m, n ]

(2.13)

Trong [m,n] l nhiu cng c phng sai n2 . Nh vy, theo cch tnh
ca lc trung bnh ta c:
Y [ m, n ] =

1
NW

X
( k ,l )W

goc

[ m k , n l ] +[ m, n)]

(2.14)

Hay:
1
Y [ m, n] =
NW


( k ,lW

n2
X goc [ m k , n l ] +
NW

(2.15)

Nh vy nhiu cng trong nh gim i Nw ln.


Hnh minh ha:

nh gc
nh sau khi lc thng thp
Hnh 2-20 Minh ha lc thng thp
c) Lc thng cao
Cc k thut lc trn l lc thng thp. N c dng lc nhiu. Ngoi lc
thng thp, ngi ta cn s dng lc thng cao. Lc thng cao dng lm ni bt
cc chi tit c tn s khng gian cao (th d nh cc im bin) m khng nh
hng n cc chi tit tn s thp. Cc phn t c tn s khng gian cao s sng
Nguyn Ch Hng

31

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

hn, cn cc phn t c tn s khng gian thp s en i. K thut lc thng cao


cng c thc hin nh thao tc nhn chp. Cc mt n hay c dng nh:
1
1

1
9
1

1
1

0
1

1
5
1

0
1

1
2

2
5
2

1
2

Hnh minh ha:

nh gc

nh sau khi lc thng cao


Hnh 2-21 Minh ha lc thng cao

Cc nhn chp thng cao c c tnh chung l tng h s ca b lc bng 1.


Nguyn nhn chnh l ngn cn s tng qu gii hn ca cc gi tr mc xm (cc
gi tr im nh vn gi c gi tr ca n mt cch gn ng khng thay i qu
nhiu vi gi tr thc).
2.2.3 Lm trn nhiu bng lc phi tuyn
Khc vi lc tuyn tnh, k thut lc phi tuyn coi mt im nh kt qu
khng phi l t hp tuyn tnh ca cc im ln cn. B lc phi tuyn thng dng
l lc trung v (median Filtering), n kh hiu qu i vi hai loi nhiu: nhiu m
(speckle noise) v nhiu mui tiu (salt-pepper noise).
a) Lc trung v
Trung v X a ca mt chui n phn t { X n } c nh ngha:
- Nu n l: c (n-1)/2 phn t ln hn X a v (n-1)/2 phn t nh hn hay
bng X a .

Nguyn Ch Hng

32

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

- Nu n chn: X a l trung bnh cng ca 2 phn t X i v

{ X n } sao

cho c (n-2)/2 phn t nh hn hay bng X i v (n-2)/2 phn t ln hn hay bng


X

K thut ny i hi gi tr cc im nh trong ca s phi xp theo th t


tng hay gim dn so vi gi tr trung v. Kch thc ca s thng c chn sao
ch s im nh trong ca s l l. Cc ca s hay dng l 3x3, 5x5 hay 7x7.
Thut ton lc trung v:
B1: Qut ca s lc ln cc thnh phn ca nh gc; in cc gi tr
c qut vo ca s lc.
B2: Ly cc thnh phn trong ca s lc x l.
B3: Sp xp theo th t cc thnh phn trong ca s lc.
B4: Lu li thnh phn trung v, gn cho nh u ra.
Hnh minh ha:

nh gc

nh sau khi lc trung v

Hnh 2-22 Minh ha lc nh trung v


b) Lc ngoi (Outlier Filter)
Gi thit rng c mt mc ngng no cho cc mc nhiu (c th da vo
lc xm). Tin hnh so snh gi tr ca mt im nh vi trung bnh s hc 8
ln cn ca n. Nu s sai lch ny ln hn ngng, im nh ny c coi nh
nhiu. Trong trng hp ny ta thay th gi tr ca im nh bng gi tr trung bnh
8 ln cn va tnh c. Cc ca s tnh ton thng l 3x3. Tuy nhin ca s c
th m rng n 5x5 hay 7x7 m bo tnh tng quan gia cc im nh. Vn
quan trng l xc nh ngng loi nhiu m vn khng lm mt thng tin.

Nguyn Ch Hng

33

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Thut ton lc ngoi:


B1: Nhp vo gi tr ngng cho php.
B2: Qut ca s lc ln cc thnh phn ca nh gc, in cc gi tr
c qut vo ca s lc.
B3: Ly cc thnh phn cc trong ca s lc x l.
B4: Tnh gi tr trung bnh ca 8 gi tr trong ca s lc (tr gi tr tm
mt n).
B5: Tnh chnh lch gia gi tr tnh c B4 v gi tr tm mt
n. Nu gi tr ny ln hn ngng cho php th gn gi tr tm mt
n ng bng gi tr trung bnh ca 8 gi tr xung quanh.
2.3 Bi ton v pht hin bin nh
2.3.1 Khi nim, ngha ca bin trong x l nh
a) Khi nim bin
Mt im nh c coi l im bin nu c s thay i nhanh hoc t ngt
v mc xm (hoc mu). V d trong nh nh phn, im en gi l im bin nu
ln cn n c t nht mt im trng.
Tp hp cc im bin lin tip to thnh mt ng bin (hay ng bao).
b) ngha ca bin trong x l nh
Trc ht ng bin l mt loi c trng cc b tiu biu trong phn tch,
nhn dng nh. Th hai, ngi ta s dng bin lm phn cch cc vng xm (mu)
cch bit. Ngc li, ngi ta cng s dng cc vng nh tm ng phn cch.

Hnh 2-23 Cc dng ng bin trong x l nh


Nguyn Ch Hng

34

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

c) Phn loi cc k thut pht hin bin


Xut pht t cc c s trn ngi ta thng s dng hai phng php pht
hin bin c bn:
Pht hin bin trc tip
Phng php ny ch yu da vo s bin thin sng ca im nh lm
ni bin bng k thut o hm.
+ Nu ly o hm bc nht ca nh: ta c phng php Gradient.
+ Nu ly o hm bc hai ca nh: ta c phng php Laplace.
Pht hin bin gin tip
Nu bng cch no y, ta phn c nh thnh cc vng th ng phn ranh
gia cc vng chnh l bin. vic phn vng nh thng da vo kt cu
(texture) b mt ca nh.
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.
2.3.2 Cc phng php pht hin bin
a) Phng php Gradient
Phng php gradient l phng php d bin cc b da vo cc i ca o
hm. Theo nh ngha, gradient l mt vct c cc thnh phn biu th tc thay
i gi tr ca im nh theo hai hng x v y. Cc thnh phn ca gradient c
tnh bi:
f ( x, y )
f ( x + dx, y ) f ( x, y )
= f 'x
x
dx

(2.16)

f ( x, y )
f ( x, y + dy ) f ( x, y )
= f 'y
y
dy

(2.17)

Vi dx l khong cch gia cc im theo hng x (khong cc tnh bng s


im) v tng t vi dy. Trn thc t, ngi ta hay dng vi dx = dy = 1.

Nguyn Ch Hng

35

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Trong phng php gradient, ngi ta chia thnh 2 k thut (do dng 2 ton t
khc nhau): k thut gradient v k thut la bn.
K thut Gradient
T nh ngha v Gradient, ta thy nu p dng n vo x l nh, vic tnh
ton s rt phc tp, n gin ha m khng lm mt tnh cht ca phng php
Gradient ngi ta s dng mt cp mt n H1 v H2 trc giao (theo 2 hng vung
gc). Nu nh ngha g1, g2 l gradient tng ng theo 2 hng x v y, th bin
A0

ca gradient ti im g(m,n) c tnh theo cng thc:


A0 = g ( m, n) =

(2.18)

g12 ( m, n) + g 22 ( m, n)

r (m, n) = tan 1 g 2 ( m, n) / g1 (m, n)

(2.19)

r ( m, n) l hng ca ng bin.

Ch : gim tnh ton, cng thc 2.16 c tnh gn ng bi:


A0 = g1 ( m, n) + g 2 ( m, n)

(2.20)

Cc ton t o hm c p dng l kh nhiu. y ta ch xt mt s ton


t tiu biu: Sobel, Prewitt
Thut ton d bin theo k thut Gradient nh sau:
u vo: ma trn nh cn tm bin:
mt n Hx v Hy
u ra: Mt ma trn nh (cha cc ng bin c tm thy).
Gii thut:
For (mi im nh ca nh)
if(Nu im nh nm trn ng vin nh)
Gn gi tr cc im nh trn ng vin nh = 0(hoc bng
mu nn nh).
else
{
+ Tnh xp x Gradient theo chiu x (Gx): nhn chp vi mt n Hx.
+ Tnh xp x Gradient theo chiu y (Gy): nhn chp vi mt n Hy.
+ Tnh gi tr im nh theo cng thc xp x G:
G=|Gx|+ |Gy|
+ Nu gi tr im nh ln hn ch s mu ca nh th gn gi tr

Nguyn Ch Hng

36

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

nh l gi tr mu ln nht.
}
+ Ton t (mt n) Sobel
Ton t Sobel c Duda v Hart t ra nm 1973 vi cc mt n c cu trc
nh sau:
1
H x =
1

0
0
0

1
1

Hy

1
=
0

1
0
1

1
0

Vi Hx, Hy ln lt l mt n theo hng ngang (x) v hng dc (y).


Hnh minh ha cho d bin s dng ton t Sobel:

nh gc

D bin bng ton t sobel

Hnh 2-24 Minh ha d bin s dng ton t Sobel


+ Ton t (Mt n)Prewitt
Ton t c Prewitt a ra vo nm 1970 s dng 2 ma trn:
1
Hx =
2

0
0
0

1
2

Hy

1
=
0

2
0
2

1
0

Vi Hx, Hy ln lt l ma trn theo cc hng ngang (x) v dc (y).


Hnh minh ha cho d bin s dng ton t Prewitt:

Nguyn Ch Hng

37

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

nh gc

D bin bng ton t Prewitt

Hnh 2-25 Minh ha d bin s dng ton t Prewitt


K thut La bn
V phng php k thut ny tng t k thut Gradient. Tuy nhin, im
khc l k thut Gradient ch ly o hm theo 2 hng, cn k thut la bn ly o
hm theo 8 hng chnh: Bc, Nam, ng, Ty v ng Bc, Ty Bc, ng Nam,
Ty Nam. Bng cch s dng 8 mt n cho 8 hng khc nhau.
C nhiu ton t la bn khc nhau. y ta xem xt ton t la bn Kirsh c
trng bi tm mt n vi kch thc 3x3 nh sau:
HB

5
=
3

H N

3
=
3
3

5
0
3
3
0
5

5
3

H B

3
5

5
HT =
5

HN

3
0
3

3
=
3

3
=
3
5

3
3

5
5

5
0
3
3
0
5

3
3

5
H T B =
5

3
=
3

H T N

3
=
5
5

5
0
3

0
3

0
5

5
5

3
3

3
3

K hiu Ai; i= 1, 2, ,8 l Gradient theo 8 hng nh 8 mt n k trn, khi


bin Gradient ti im nh (x,y) c tnh theo:
A( x, y ) = Max ( g i ( x, y ) )

i=1,2,,8.

(2.21)

Thut ton d bin theo k thut La bn nh sau:


u vo: ma trn nh cn tm bin:
Nguyn Ch Hng

38

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

mt n H i (I = 1,2,,8).
u ra: Mt ma trn nh (cha cc ng bin c tm thy).
Gii thut:
For (mi im nh ca nh)
if(Nu im nh nm trn ng vin nh)
Gn gi tr cc im nh trn ng vin nh =0 (hoc bng mu nn
nh).
else
{
+ Tnh xp x Gradient theo cc hng khc nhau:
Gi = I H i

+ Tnh gi tr im nh theo cng thc xp x G:


G = Max(Gi ) (i=1, 2, 8)

+ Nu gi tr im nh ln hn ch s mu ca nh th gn gi tr nh
l gi tr mu ln nht.
}
Hnh minh ha cho d bin s dng ton t la bn (Kirsh):

nh gc

D bin bng ton t La Bn

Hnh 2-26 Minh ha d bin s dng ton t La bn


b) Phng php Laplace
Cc k thut s dng phng php Gradient kh tt khi sng c tc thay
i nhanh, kh n gin trn c s cc mt n theo cc hng. Nhc im ca cc
k thut Gradient l nhy cm vi nhiu v to cc bin kp lm cht lng bin thu
c khng cao.
Nguyn Ch Hng

39

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

khc phc hn ch v nhc im ca phng php Gradient, trong s


dng o hm ring bc nht ngi ta ngh n vic s dng o hm ring bc hai
hay ton t Laplace. Phng php d bin theo ton t Laplace hiu qu hn
phng php ton t Gradient trong trng hp mc xm bin i chm, min
chuyn i mc xm c tri rng.
Ton t Laplace c nh ngha nh sau:
2 f =

2 f
2 f
+
x 2
y 2

(2.22)

Ton t Laplace dng nhiu kiu mt n khc nhau xp x o hm bc hai.


Di y l 3 kiu mt n hay dng.
0
H1 =
1

1
4
1

0
1

1
H2 =
1

1
8
1

1
1

1
H3 =
2

2
8
2

1
2

K thut laplace cho ng bin mnh, tc l ng bin c rng bng mt


pixel. Tuy nhin, k thut ny rt nhy cm vi nhiu v o hm bc hai thng
khng n nh.
Gi G l ma trn im thu c sau khi nhn chp ma trn im nh (ca nh
cn tm bin) vi mt n H2 (Trong chng trnh em s dng mt n ny).
G chnh l ma trn im nh cha cc ng bin cn tm.
Thut ton d bin theo phng php Laplace nh sau:
u vo: ma trn nh cn tm bin:
mt n H2
u ra: Mt ma trn nh (cha cc ng bin c tm thy).
Gii thut
For (mi im nh ca nh)
if(Nu im nh nm trn ng vin nh)
Gn gi tr cc im nh trn ng vin nh =0 (hoc bng mu
nn nh).
else
{
+ Tnh xp x Laplace G: nhn chp vi mt n H2.
+ Nu gi tr im nh ln hn ch s mu ca nh th gn gi tr nh l

Nguyn Ch Hng

40

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

gi tr mu ln nht.
}
Hnh minh ha cho s dng ton t Laplace:

nh gc

D bin nh theo k thut Laplace

Hnh 2-27 Minh ha d bin theo k thut Lalace H2


c) Phng php d bin gin tip
Da trn k thut phn vng nh, Phng php ny d bin theo s thay i
mc xm mu ca nh. Nu nhng im nh no c cng mu hoc c mu khc
nhng khong cch mu nm trong phm vi cho php, ng thi nm k nhau s to
thnh mt vng. Khi ng phn ranh gia cc vng chnh l bin.
Trc ht ta i tm hiu cc khi nim lin quan n phng php:
+ nh ngha khong cch mu:
Khong cch mu l mt khi nim ch s khc nhau v gi tr mu ca cc
im nh.
Gi s a v b l 2 gi tr mu ca 2 im nh. Khong cch mu d ca a v b
c tnh nh sau:
(2.23)

d ( a , b) = Ra Rb + Ga Gb + Ba Bb

Trong :
Ra: l gi tr mu ti im nh
Ga: l gi tr mu xanh (green)ti im nh
Ba: l gi tr mu xanh da tri (blue) ti im nh.
Nu khong cch mu d=0 th 2 im nh c cng mu.
Nguyn Ch Hng

41

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

ng bin gi cc vng chnh l cc ng bin cn tm.


Thut ton tm ng bin da vo khong cch mu gia cc im nh:
u vo: Ma trn im nh, khong cch mu ti thiu
u ra: Ma trn im nh mi (cha cc ng bin tm thy).
For (mi im nh ca nh)
{
+ Tnh khong cch mu ca im nh vi cc im nh ln cn:
Tnh theo 8 hng ca im nh.
+ Tm khong cch mu ln nht.
if(khong cch mu ln hn khong cch mu cho php(ngng))
{
Ghi nhn im nh ny l mt im bin mi.
}
Else
im l nn (mu en)
}
Hnh minh ha d bin theo PP gin tip:

nh gc

D bin gin tip

Hnh 2-28 Minh ha d bin theo PP gin tip

Nguyn Ch Hng

42

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

CHNG 3
CHNG TRNH NG DNG
3.1 Gii thiu v chng trnh
p dng l thuyt x l nh c trnh by trong 2 chng trn, em xy
dng mt chng trnh x l nh bng ngn ng C#. Chng trnh ny thc hin
gii quyt cc bi ton c bn trong x l nh nh l: lc nhiu nh, d bin nh
Ngoi ra cn c thm chc nng Zoom v Resize nh.
Di y l giao din chnh ca chng trnh:

Hnh 3-29 Giao din chnh ca chng trnh

Nguyn Ch Hng

43

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

3.2 Cc chc nng ca chng trnh


3.2.1 Chc nng thao tc vi file nh

Hnh 3-30 Cc chc nng con thao tc vi File nh


a) Chc nng m mt file nh(Load nh)
File >> Open.
Khi ta chn chc nng ny, mt ca s dialog s hin ra cho php ta tm kim
file nh cn load(mc nh l C), sau khi tm c file nh chn ok v file nh s
c load ln form, t ta c th thc hin nhiu php x l tip theo vi bc
nh.

Hnh 3-31 Form load nh

Nguyn Ch Hng

44

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

b) Chc nng lu nh (Save)


File >> Save.
Tng t nh chc nng load nh, khi chn chc nng lu nh th mt ca s
dialog s hin ra cho php ta chn ni lu li bc nh sau khi x l vo my
tnh.

Hnh 3-32 Form lu nh sau x l


3.2.2 Chc nng Chnh sa

Hnh 3-33 Cc chc nng con trong chnh sa nh


Chc nng ny cho php ta thc hin cc thao tc chnh sa nh. Bao gm:

Nguyn Ch Hng

45

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Chc nng Undo:


Cho php ta tr li vi thao tc x l nh gn nht.
Chc nng Resize:
Cho php ta thay i kch thc ca nh thng qua cc gi tr kch thc mi
c nhp vo Form Resize:

Hnh 3-34 Form resize kch thc cho nh


Chn ch lc Bilinear nh sau khi resize c r nt v mn hn.
3.2.3 Chc nng X l im nh

Hnh 3-35 Chc nng X l im nh

Nguyn Ch Hng

46

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Chc nng ny cho php chng ta thc hin cc x l nh n gin s dng


ton t im (thao tc trn tng pixel ko lin quan n cc pixel ln cn). Bao gm
cc chc nng con sau:
Tng phn:
Chc nng cho php ta thay i tng phn cho nh(tng hoc gim
tng phn) thng qua gi tr cc cn c nhp vo Form Contrast:

Hnh 3-36 Form thay i tng phn


sng nh:
Chc nng thay i sng ca nh(tng hoc gim sng) thng qua gi tr
c nhp vo Form:

Hnh 3-37 Form thay i sng


To nh m bn:
Chc nng cho php ta bin i t mt nh gc thnh mt nh m bn(ng
dng ln trong y hc).
To nh en trng:
Chc nng cho php ta bin i t mt nh gc thnh mt nh en trng thng
qua gi tr ngng c nhp vo Form:
Nguyn Ch Hng

47

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Hnh 3-38 Form phn ngng to nh en trng


To nh xm:
Chc nng cho php ta bin i t mt nh mu thnh mt nh xm.
Color: B lc mu sc
Chc nng cho php ta thm hoc bt gi tr cho mi mu thng qua cc gi
tr c nhp vo Form color.

Hnh 3-39 Form thay i mu sc


Lc xm:
Chc nng cho php ta thc hin cc thao tc vi lc xm ca nh: Hin
th v cn bng lc .

Nguyn Ch Hng

48

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

3.2.4 Chc nng Lc nh

Hnh 3-40 Chc nng Lc nh


L chc nng lc nhiu cho nh s dng ton t khng gian (lin quan n cc
pixel ln cn) tng cng cht lng cho nh. Bao gm cc b lc sau:
B lc trung bnh khng gian (lm trn nh)
B lc thng thp
B lc trung v - hiu qu i vi hai loi nhiu: nhiu m (speckle
noise) v nhiu mui tiu (salt-pepper noise).
Lc ngoi
B lc lm m nh bng hm Gaussian. (Cc phn t ca mt n Gauss
chnh l cc phn t ri rc ca phn b Gauss).
B lc thng cao: ch lm vic trong cc hng ngang v dc lm ni bt
cc chi tit c tn s cao.
Sharpen: B lc lm sc nt cho nh. B lc ny nh l mt s tri ngc
i vi b lc Gaussian Blur. N tng sc nt ca 1 hnh nh bng cch
tng cng s khc bit gia cc im nh. Mc mi sc c th c
iu chnh bng cch thay i phn t trung tm.

Nguyn Ch Hng

49

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

3.2.5 Chc nng d bin(Edge Detection)

Hnh 3-41 Chc nng d v lm ni bin nh


Vi chc nng ny cho php ta d bin v lm ni bin nh. Bao gm cc
chc nng con:
Sobel:
Lm ni bin nh theo k thut Gradient s dng ton t Sobel.
Prewitt:
Lm ni bin nh theo k thut Garadient s dng ton t Prewith.
Laplace H2:
Lm ni bin nh theo k thut Laplace s dng ton t Laplace-H2.
PP gin tip:
Lm ni bin nh theo phng php gin tip (phn vng nh). y l d
bin theo khong cch mu ca nh, v th ta cn phi nhp vo gi tr mt ngng
khong cch mu vo Form v chng trnh cho ra kt qu da trn ngng khong
cch mu .

Hnh 3-42 Form nhp ngng khong cch mu

Nguyn Ch Hng

50

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

3.2.6 Chc nng Zoom nh


Chc ny cho php ta c th phng to hay thu nh bc nh theo t l cho
(25%, 50%, 75%...).

Hnh 3-43 Chc nng Zoom nh


3.3 Mt s hm v th tc chnh trong chng trnh
3.3.1 M mt file nh
private void openToolStripMenuItem_Click(object sender, EventArgs
e)
{
openFileDialog1.InitialDirectory = "C:\\";
openFileDialog1.Title = "Chn File nh";
openFileDialog1.Filter="Image File (*.bmp;*.jpg)|*.bmp;
*.jpg|All File (*.*)|*.*";
openFileDialog1.RestoreDirectory = true;
if(openFileDialog1.ShowDialog()==DialogResult.OK)
{
bmp = new Bitmap(openFileDialog1.FileName);
this.AutoScroll = true;
this.AutoScrollMinSize = new Size((int)(bmp.Width*
Zoom), (int)(bmp.Height*Zoom));
this.Invalidate();
}
}

3.3.2 In nh ln Form
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g =e.Graphics;
g.DrawImage(bmp,new Rectangle(this.AutoScrollPosition.X,

Nguyn Ch Hng

51

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a


this.AutoScrollPosition.Y,
(int)(bmp.Width*Zoom),(int)(bmp.Height*Zoom)));
}

3.3.3 Lu File nh sau x l


private void saveToolStripMenuItem_Click(object sender, EventArgs
e)
{
saveFileDialog1.InitialDirectory = "C:\\";
saveFileDialog1.Filter = "Bitmap(*.bmp)|*.bmp|
Jpeg File (*.jpg)|*.jpg";
saveFileDialog1.RestoreDirectory = true;
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
bmp.Save(saveFileDialog1.FileName);
}
}

3.3.4 Hm Undo nh
private void undoToolStripMenuItem_Click(object sender, EventArgs
e)
{
Bitmap temp = (Bitmap)bmp.Clone();
bmp = (Bitmap)undo.Clone();
undo = (Bitmap)temp.Clone();
this.Invalidate();
}

3.3.5 Hm thc hin Zoom nh


V d vi trng hp hng s zoom l 25%, cc trng hp khc l tng t.
private void toolStripMenuItem2_Click(object sender, EventArgs e)
{
Zoom = 0.25;
this.AutoScrollMinSize = new Size((int)(bmp.Width *
Zoom), (int)(bmp.Height * Zoom));
this.Invalidate();
}

Nguyn Ch Hng

52

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

3.3.6 Hm khai bo mt n nhn chp (mu)


public class mask3x3
{
public int TopLeft = 0, TopMid = 0,TopRight = 0;
public int MidLeft = 0, pixel = 1, MidRight=0;
public int BotLeft = 0, BotMid = 0, BotRight = 0;
public int Factor = 1;
public void SetAll(int n)
{
TopLeft = TopMid = TopRight = MidLeft = pixel =
MidRight = BotLeft = BotMid = BotRight = n;
}
}

3.3.7 Hm thc hin nhn chp ma trn


Hm ny mang tnh cht ct li ca chng trnh. N thc hin nhn chp
gia ma trn im nh gc vi mt n lc c s dng rt nhiu trong cc b lc
v pht hin bin.
public static bool ComplexFilter(Bitmap b, mask3x3 m)
{
if (m.Factor == 0) return false;
//Trnh chia cho 0
Bitmap b1 = (Bitmap)b.Clone();
BitmapData bdata = b.LockBits(new Rectangle(0, 0,
b.Width, b.Height),
ImageLockMode.ReadWrite,
PixelFormat.Format24bppRgb);
BitmapData b1data = b1.LockBits(new Rectangle(0, 0,
b1.Width, b1.Height),
ImageLockMode.ReadWrite,
PixelFormat.Format24bppRgb);
int stride = bdata.Stride;
int stride2 = stride * 2;
unsafe
{
byte* p = (byte*)bdata.Scan0;
byte* pn = (byte*)b1data.Scan0;
int nOffset = stride - b.Width * 3;
int nWidth = b.Width - 2;

Nguyn Ch Hng

53

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a


//tr i cc ra nh, v mt n 3x3
int nHeight = b.Height - 2;
int nPixel;
//Dng tnh gi tr ca im nh ang xt.
for(int y = 0;y < nHeight; ++y)
{
for (int x = 0; x < nWidth; ++x)
{
//Ch y: GDI+ la chng ta, lu tr l BGR,
//ch ko phi l RGB
//Thc hin i vi tng mu mt
//process red pixel
nPixel = (((pn[2] * m.TopLeft) +
(pn[5] * m.TopMid) +
(pn[8] * m.TopRight)+
(pn[2 + stride] * m.MidLeft) +
(pn[5 + stride] * m.pixel) +
(pn[8 + stride] * m.MidRight) +
(pn[2 + stride2] * m.BotLeft) +
(pn[5 + stride2] * m.BotMid) +
(pn[8 + stride2] * m.BotRight))
/ m.Factor);
if (nPixel < 0) nPixel = 0;
if (nPixel > 255) nPixel = 255;
p[5 + stride] = (byte)nPixel;
//process green pixel
nPixel = (((pn[1] * m.TopLeft) +
(pn[4] * m.TopMid) +
(pn[7] * m.TopRight) +
(pn[1 + stride] * m.MidLeft) +
(pn[4 + stride] * m.pixel) +
(pn[7 + stride] * m.MidRight) +
(pn[1 + stride2] * m.BotLeft) +
(pn[4 + stride2] * m.BotMid) +
(pn[7 + stride2] * m.BotRight))
/ m.Factor);
if (nPixel < 0) nPixel = 0;
if (nPixel > 255) nPixel = 255;
p[4 + stride] = (byte)nPixel;
//process blue pixel
nPixel = (((pn[0] * m.TopLeft) +

Nguyn Ch Hng

54

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a


(pn[3] * m.TopMid) +
(pn[6] * m.TopRight) +
(pn[0 + stride] * m.MidLeft) +
(pn[3 + stride] * m.pixel) +
(pn[6 + stride] * m.MidRight) +
(pn[0 + stride2] * m.BotLeft) +
(pn[3 + stride2] * m.BotMid) +
(pn[6 + stride2] * m.BotRight))
/ m.Factor);
if (nPixel < 0) nPixel = 0;
if (nPixel > 255) nPixel = 255;
p[3 + stride] = (byte)nPixel;
p += 3;
pn += 3;
}
p += nOffset;
pn += nOffset;
}
}
b.UnlockBits(bdata);
b1.UnlockBits(b1data);
return true;
}

3.3.8 Hm thc hin lc trung v


public static bool Median(Bitmap b)
{
Bitmap b1 = (Bitmap)b.Clone();
BitmapData bmdata = b.LockBits(new Rectangle(0, 0,
b.Width, b.Height),
ImageLockMode.ReadWrite,
PixelFormat.Format24bppRgb);
BitmapData b1data = b1.LockBits(new Rectangle(0, 0,
b.Width, b.Height),
ImageLockMode.ReadWrite,
PixelFormat.Format24bppRgb);
int stride = bmdata.Stride;
int stride2 = stride * 2;
ArrayList list;
unsafe
{
byte* p = (byte*)bmdata.Scan0;

Nguyn Ch Hng

55

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a


byte* p1 = (byte*)b1data.Scan0;
int nOffset = stride - b.Width * 3;
int nWidth = b.Width - 2;
//tr i cc ra nh
int nHeight = b.Height - 2;
int nPixel;
list = new ArrayList();
for (int y = 0; y < nHeight; ++y)
{
for (int x = 0; x < nWidth; ++x)
{
for (int i = 0; i < 3; ++i)
{
list.Add(p1[0]);
list.Add(p1[3]);
list.Add(p1[6]);
list.Add(p1[0 + stride]);
list.Add(p1[3 + stride]);
list.Add(p1[6 + stride]);
list.Add(p1[0 + stride2]);
list.Add(p1[3 + stride2]);
list.Add(p1[6 + stride2]);
list.Sort();
nPixel = Convert.ToInt32(list[4]);
if(nPixel<0) nPixel=0;
if(nPixel>255) nPixel=255;
p[3 + stride] = (byte)nPixel;
++p;
++p1;
list.Clear();
}
}
p += nOffset;
p1 += nOffset;
}
}
b.UnlockBits(bmdata);
return true;
}

Nguyn Ch Hng

56

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

3.3.9 Hm pht hin v lm ni bin


Theo phng php gradient
public static bool EdgedetectionConvolution(Bitmap b, short nType)
{
mask3x3 m = new mask3x3();
Bitmap btemp = (Bitmap)b.Clone();
switch (nType)
{
case EDGE_DETECT_SOBEL:
m.SetAll(0);
m.TopLeft = m.BotLeft = 1;
m.TopRight = m.BotRight = -1;
m.MidLeft = 2;
m.MidRight = -2;
break;
case EDGE_DETECT_PREWITT:
m.SetAll(0);
m.TopLeft = m.MidLeft = m.BotLeft = -1;
m.TopRight = m.MidRight = m.BotRight = 1;
break;
case EDGE_DETECT_KIRSH:
m.SetAll(-3);
m.pixel = 0;
m.TopLeft = m.MidLeft = m.BotLeft = 5;
break;
}
Image.ComplexFilter(b, m);
switch (nType)
{
case EDGE_DETECT_SOBEL:
m.SetAll(0);
m.TopLeft = m.TopRight = 1;
m.BotLeft = m.BotRight = -1;
m.TopMid = 2;
m.BotMid = -2;
break;
case EDGE_DETECT_PREWITT:
m.SetAll(0);
m.BotLeft = m.BotMid = m.BotRight = -1;
m.TopLeft = m.TopMid = m.TopRight = 1;

Nguyn Ch Hng

57

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a


break;
case EDGE_DETECT_KIRSH:
m.SetAll(-3);
m.pixel = 0;
m.BotLeft = m.BotMid = m.BotRight = 5;
break;
}
Image.ComplexFilter(btemp, m);
BitmapData bmdata = b.LockBits(new Rectangle(0, 0,
b.Width, b.Height), ImageLockMode.ReadWrite,
PixelFormat.Format24bppRgb);
BitmapData bmdata2 = btemp.LockBits(new Rectangle(0, 0,
b.Width, b.Height), ImageLockMode.ReadWrite,
PixelFormat.Format24bppRgb);
int Stride = bmdata.Stride;
unsafe
{
byte* p = (byte*)bmdata.Scan0;
byte* p2 = (byte*)bmdata2.Scan0;
int nOffset = Stride - b.Width * 3;
int nWidth = b.Width * 3;
int npixel = 0;
for (int y = 0; y < b.Height; ++y)
{
for (int x = 0; x < nWidth; ++x)
{
npixel = (int)Math.Sqrt((p[0] * p[0]
+ p2[0] * p2[0]));
if (npixel < 0) npixel = 0;
if (npixel > 255) npixel = 255;
p[0] = (byte)npixel;
++p; ++p2;
}
p += nOffset;
p2 += nOffset;
}
}
b.UnlockBits(bmdata);
btemp.UnlockBits(bmdata2);
return true;
}

Nguyn Ch Hng

58

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Theo phng php Laplace


public static bool LaplaceH2(Bitmap b)
{
mask3x3 m = new mask3x3();
m.SetAll(-1);
m.pixel = 8;
Image.ComplexFilter(b, m);
return true;
}

Theo phng php gin tip


public static bool Giantiep(Bitmap b,int n)
{
Bitmap b2 = (Bitmap)b.Clone();
BitmapData bmData = b.LockBits(new Rectangle(0, 0,
b.Width, b.Height), ImageLockMode.ReadWrite,
PixelFormat.Format24bppRgb);
BitmapData bmData2 = b2.LockBits(new Rectangle(0, 0,
b.Width, b.Height), ImageLockMode.ReadWrite,
PixelFormat.Format24bppRgb);
int stride = bmData.Stride;
System.IntPtr Scan0 = bmData.Scan0;
System.IntPtr Scan02 = bmData2.Scan0;
unsafe
{
byte* p = (byte*)(void*)Scan0;
byte* p2 = (byte*)(void*)Scan02;
int nOffset = stride - b.Width * 3;
int nWidth = b.Width * 3;
int nPixel = 0, nPixelMax = 0;
p += stride;
p2 += stride;
for (int y = 1; y < b.Height - 1; ++y)
{
p += 3;
p2 += 3;
for (int x = 3; x < nWidth - 3; ++x)
{
nPixelMax = Math.Abs(p2[0]
- (p2 + stride - 3)[0]);
nPixel = Math.Abs(p2[0] - (p2 + stride)[0]);

Nguyn Ch Hng

59

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a


if (nPixel > nPixelMax) nPixelMax = nPixel;
nPixel = Math.Abs(p2[0]
- (p2 + stride + 3)[0]);
if (nPixel > nPixelMax) nPixelMax = nPixel;
nPixel = Math.Abs(p2[0] - (p2 - stride)[0]);
if (nPixel > nPixelMax) nPixelMax = nPixel;
nPixel = Math.Abs(p2[0] - (p2 - 3)[0]);
if (nPixel > nPixelMax) nPixelMax = nPixel;
nPixel = Math.Abs(p2[0]
- (p2 - stride - 3)[0]);
if (nPixel > nPixelMax) nPixelMax = nPixel;
nPixel = Math.Abs(p2[0] - (p2 + 3)[0]);
if (nPixel > nPixelMax) nPixelMax = nPixel;
nPixel = Math.Abs(p2[0]
- (p2 - stride + 3)[0]);
if (nPixel > nPixelMax) nPixelMax = nPixel;
if (nPixelMax < n) nPixelMax = 0;
p[0] = (byte)nPixelMax;
++p;
++p2;
}
p += 3 + nOffset;
p2 += 3 + nOffset;
}
}
b.UnlockBits(bmData);
b2.UnlockBits(bmData2);
return true;
}

Nguyn Ch Hng

60

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

3.3.10 Hm resize Thay i kch thc nh


Nu mun thay i kch thc ty cho mt bc nh, th cch d nht l tnh
ton ra yu t v s khc bit(chnh lch) gia kch thc nh ngun v nh ch
trn c 2 trc x v trc y. Sau s dng yu t tm mc xm ca cc pixel
c t trn nh ch. Tuy nhin c mt rc ri nh l vic lm nhiu lc c th
cho ta nhng im nh khng c thc (ta thp phn) trn nh ngun, v vy
khc phc iu ny trong hm resize em a vo mt b lc Bilinear, nhm x l
4 pixel ln cn ca pixel v xy dng gi tr mc xm mi cho pixel trn nh
ch thng qua cc php ton. Vic lm ny gip cho bc nh sau x l c cht
lng tt hn.
public static Bitmap Resize(Bitmap b, int nWidth,
int nHeight, bool bBilinear)
{
Bitmap btemp = (Bitmap)b.Clone();
b = new Bitmap(nWidth, nHeight, btemp.PixelFormat);
double nXFactor = (double)btemp.Width / (double)nWidth;
double nYFactor = (double)btemp.Height / (double)nHeight;
if (bBilinear)
{
double fraction_x, fraction_y,
one_minus_x, one_minus_y;
int ceil_x, ceil_y, floor_x, floor_y;
Color c1 = new Color();
Color c2 = new Color();
Color c3 = new Color();
Color c4 = new Color();
byte red, green, blue;
byte b1, b2;
for (int x = 0; x < b.Width; ++x)
{
for (int y = 0; y < b.Height; ++y)
{
//Set up
floor_x = (int)Math.Floor(x * nXFactor);
//Lm trn cho ta x ca im nh
floor_y = (int)Math.Floor(y * nYFactor);
//lm trn cho ta y ca im nh
ceil_x = floor_x + 1;
if (ceil_x >= btemp.Width)

Nguyn Ch Hng

61

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a


ceil_x = floor_x;
ceil_y = floor_y + 1;
if (ceil_y >= btemp.Height) ceil_y = floor_y;
fraction_x = (x * nXFactor) - floor_x;
fraction_y = (y * nYFactor) - floor_y;
one_minus_x = 1.0 - fraction_x;
one_minus_y = 1.0 - fraction_y;
// Ly gi tr mu ca cc pixel xung quanh pixel
// ang xt khng c thc
c1 = btemp.GetPixel(floor_x, floor_y);
c2 = btemp.GetPixel(ceil_x, floor_y);
c3 = btemp.GetPixel(floor_x, ceil_y);
c4 = btemp.GetPixel(ceil_x, ceil_y);
// Ci t gi tr mu cho pixel ang xt
// Blue
b1 = (byte)(one_minus_x * c1.B
+ fraction_x * c2.B);
b2 = (byte)(one_minus_x * c3.B
+ fraction_x * c4.B);
blue = (byte)(one_minus_y * (double)(b1)
+ fraction_y * (double)(b2));
// Green
b1 = (byte)(one_minus_x * c1.G
+ fraction_x * c2.G);
b2 = (byte)(one_minus_x * c3.G
+ fraction_x * c4.G);
green = (byte)(one_minus_y * (double)(b1)
+ fraction_y * (double)(b2));
// Red
b1 = (byte)(one_minus_x * c1.R
+ fraction_x * c2.R);
b2 = (byte)(one_minus_x * c3.R
+ fraction_x * c4.R);
red = (byte)(one_minus_y * (double)(b1)
+ fraction_y * (double)(b2));
b.SetPixel(x, y,System.Drawing.Color.
FromArgb(255, red, green, blue));
}
}
}
else

Nguyn Ch Hng

62

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a


{
for(int x = 0; x < btemp.Width; ++x)
for (int y = 0; y < btemp.Height; ++y)
{
b.SetPixel(x,y,btemp.GetPixel
((int)(Math.Floor(x*nXFactor)),
(int)(Math.Floor(y*nYFactor))));
}
}
return b;
}

Nguyn Ch Hng

63

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

KT LUN
ti tp trung nghin cu tng quan v l thuyt x l nh s, gii thiu
mt s bi ton c bn trong x l nh, xy dng gii thut v lp chng trnh
minh ha cc bi ton .
ti hon thnh mc tiu v ni dung nghin cu ra bao gm khi
qut cc thnh phn ca h thng x l nh, cc khi nim v vn lin quan, b
lc nh, bin nh, Gii thiu mt s bi ton c bn trong x l nh (nng cao
tng phn v sng cho nh, lc nhiu nh, lm ni ng bin, thay i kch
thc nh) v xy dng c gii thut cho cc bi ton . K tip l s dng
ngn ng C# lp trnh mt s bi ton c bn trong x l nh, kt qu c minh
ha trong phn chng trnh ng dng.
Kt qu ca ti c th lm ti liu gip cho vic nghin cu, tm hiu v l
thuyt x l nh s c trc quan, sinh ng hn v d tip thu hn, to tin
cho vic xy dng cc chng trnh x l nh ng dng trong khoa hc v cuc
sng.
Trong thi gian lm n tt nghip vi s c gng n lc ca bn thn, s
gip tn tnh ca thy gio Trn Trung Chuyn. n nay, n hon thnh
ng ni dung v thi hn. Tuy vy, do cn hn ch v kin thc v kinh nghim
thc t nn n ko trnh khi thiu st. Rt mong nhn c s gp ca cc
thy c v bn b ng nghip.

Nguyn Ch Hng

64

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

TI LIU THAM KHO


Cc ti liu Ting Vit
[1]. Lng Mnh B, Nguyn Thanh Thy, Nhp mn x l nh s. Nxb. Khoa hc
v k thut, H Ni, 2002.
Cc ti liu Ting Anh
[2]. Dwayne Phillips. R & D Publications, 2000. Image Processing in C - Second
Edition.
Cc ti liu t Internet
[3]. Website th vin m ngun: http://www.codeproject.com

Nguyn Ch Hng

65

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

PH LC
Ph lc 1: H ta mu trong biu din nh
1. Khi nim
T chc quc t v chun ha mu CIE (Commission Internationale
dEclairage) a ra mt s chun biu din mu. Cc h ny c cc chun ring.
H chun mu CIE-RGB dng 3 mu c bn R, G, B v k hiu RGBCIE phn
bit vi cc chun khc. Nh nu trn, mt mu l t hp ca cc mu c bn
theo mt t l no . Nh vy, mi pixel nh mu k hiu Px , c vit: (T:
trong cng thc di y l k hiu chuyn v)
Px = [ Re d , Green, Blue]

Ngi ta dng h ta ba mu R - G B(tng ng vi h ta x y z)


biu din mu nh sau:

Hnh m phng h mu RGB


Trong cch biu din ny ta c cng thc: + lc + l = 1. Cng thc ny
gi l cng thc Maxell.

2. Bin i h ta mu
H ta mu do CIE xut c tc dng nh mt h quy chiu v khng
biu din ht cc mu. Trn thc t, ph thuc vo cc ng dng khc nhau ngi ta
a ra cc h biu din mu khc nhau. Th d:
Nguyn Ch Hng

66

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

+ H NTSC: dng 3 mu R, G, B p dng cho mn hnh mu, k hiu


RGB NTSC .

+ H CMY (Cyan Magenta Yellow): thng dng cho in nh mu.


+ H YIQ: cho truyn hnh mu.
Vic chuyn i gia cc khng gian biu din mu c thc hin theo
nguyn tc sau:
Nu gi l khng gian biu din cc mu ban u; khng gian biu din
mu mi; A l ma trn biu din php bin i. Ta c quan h sau:
' = A

(0.24)

V d, bin i h ta mu RGBCIE sang h ta mu RGB NTSC ta c cc


vc t tng ng:
RCIE
Px = GCIE
BCIE

R NTSC

v Px ' = G NTSC
B NTSC

Cng thc chuyn i c vit di dng ma trn:


RCIE 1.167 0.146 0.151 R NTSC
G = 0.114
0.753
0.159 G NTSC
CIE
BCIE 0.001 0.059
1.128 B NTSC

Nguyn Ch Hng

67

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

Ph lc 2: S ha nh
Mt nh g(x, y) ghi c t Camera l nh lin tc to nn mt phng hai
chiu. nh cn chuyn sang dng thch hp x l bng my tnh. Phng php
bin i mt nh (hay mt hm) lin tc trong khng gian cng nh theo gi tr
thnh dng s ri rc c gi l s ho nh. Nguyn tc s ha nh c th c m
t theo s sau:

+ nh u vo l nh tng t.
+ Tin trnh ly mu thc hin cc cng vic sau: Qut nh theo hng, v ly
mu theo hng. u ra l ri rc v mt khng gian, nhng lin tc v mt bin .
+ Tin trnh lng ha: lng t ha v mt bin ( sng) cho dng nh
va c ri rc ha.

1. Ly mu
Yu cu tn hiu c di ph hu hn:

f x f x max ,

f y f y max

nh tha mn iu kin trn, v c ly mu u trn mt li hnh ch


nht, vi bc nhy(chu k ly mu) x, y c th khi phc li khng sai st.
Nu nh ta chn

x, y

sao cho:

1
1
2 f x max ,
2 f y max
x
y

T s ny gi l t s NiQuyst.
Thc t lun tn ti nhiu ngu nhin trong nh, nn c mt s k thut khc
c dng l: li khng vung, li bt gic.

Cc dng mu im nh
Nguyn Ch Hng

68

Lp Tin hc trc a K50

n tt nghip chuyn ngnh Tin hc Trc a

2. Lng t ha
Lng ha nh nhm nh x t mt bin lin tc u (biu din gi tr sng)
sang mt bin ri rc u * vi cc gi tr thuc tp hu hn {r1 , r2 ,...rL } .
C s l thuyt ca lng ha l chia di sng bin thin t Lmin n
Lmax

thnh mt s mc (ri rc v nguyn) phi tha mn tiu ch v nhy ca

mt. Thng Lmin = 0 v Lmax = l s nguyn dng 2 B (thng chn B=8, mi


im nh s c m ha bng 8 bit).
Cho {t k , k = 1,2,...L +1} l tp cc bc dch chuyn, t k u .
Vi khong chia nh trn ( t1 , t 2 ,...t k ) , nu u ( t i , t i +1 ) th gn cho u gi tr
ri

. Hay ni cch khc u c lng ha bi mc i.

+ Lng ha u: y l mt k thut n gin v d thc hin nht. Gi s


bin u ra ca h thng thu nhn nh nhn gi tr t 0 n X. Mu lng ha
u trn 256 mc:
tk =

X (k 1)
X
, rk = t k +
vi k = 1,2,256.
256
256

Nguyn Ch Hng

69

Lp Tin hc trc a K50

You might also like