You are on page 1of 100

Ti liu hng dn hc matlab dnh cho mn x l nh rt hay

Bo co n TVT1

GVHD : Bi Minh Thnh

CHNG I: TM HIU C BN V MATLAB V GUI


I) C bn v Matlab:
1) Gii thiu chung v Matlab: Matlab l mt cng c tnh ton trong k thut, c bit l cc bi ton v ma trn. Matlab cn cung cp cc toolboxes chuyn dng gii quyt nhng vn c th nh x l nh, x l s tn hiu, neuron, m phng Matlab cung cp Image Processing toobox, chuyn v x l nh. C th ni Matlab l mt cng c li hi gip cho vic thc hin cc gii thut x l nh nhanh chng v d hiu. 2) Khi ng Matlab: 2.1) M chng trnh:

-Click vo biu tng 2.2) Nhp lnh trong Matlab:

m chng trnh.

- Ca s Command line hin ra, y l ni chng ta s nhp lnh v Matlab a ra kt qu. - Lnh s thc hin ngay v th hin kt qu thc thi trn mn hnh. Vd: >> 5+3 ans = 8 - Trong nhiu trng hp ta khng mun th hin kt qu th sau khi g lnh phi thm du ;. 2.3) S dng cng c gip : -nh lnh help ten_lenh bit c cch s dng v cng dng ca ten_lenh. V d: help convert -Nu khng bit chnh xc tn lnh l g, ta c th dng lnh lookfor. -V d: lookfor convert s cho ta danh sch cc lnh c t convert trong phn tr gip. Trang 1

Bo co n TVT1

GVHD : Bi Minh Thnh

3) Php ton vi vector v ma trn: 3.1) Cc ton t: -Trong Matlab, khng cn khai bo bin. Matlab phn bit bin ch hoa v thng V d: A v a l hai bin khc nhau -Cc php ton s hc: +,-,*,/,\(chia o), ^. -Cc ton t quan h :< , <= , > , >= , == , ~= -Cc ton t logic : & , | (or) , ~ (not) -Cc hng : i s o j tng t i eps sai s 2-52 inf v cng ln NaN Not a number 3.2) Lm vic vi vector v ma trn: -Trong Matlab, t t c cc i tng u xem l ma trn. Mt ch s l mt ma trn 1*1 . Mt vector l ma trn mt hng hay mt ct. V d: >> a=[5 10 2;10 2 4; 2 4 5] a= 5 10 10 2 2 4 2 4 5 pi 3.14159265

-Ch s : Phn t hng i ct j ca ma trn c k hiu l A(i,j). Tuy nhin ta cng c th tham chiu ti phn t ca mng nh mt ch s A(k). V d: A(6) l tham chiu ca A(3,2). -Ton t : l mt ton t quan trng, xut hin nhiu dng khc nhau V d: >> 5:10 Trang 2

Bo co n TVT1

GVHD : Bi Minh Thnh

ans = 5 6 7 8 9 10

>> 1:2:10 ans= 1 3 5 7 9

A(:,j) trch ra ct th j ca A A(i,:) trch ra hng th i A(k:l,m:n) trch ra ma trn con ca A V(i:j) trch ra mt phn vector V V d: >> A=[2 4 6; 1 3 5; 3 1 4]; >> A(3,:) ans = 3 1 4

-Chuyn v: Dng du to ma trn chuyn v V d: >>a=[1 3; 2 4] a= 1 2 3 4

>> a ans = 1 3 2 4

-Php ton s hc vi ma trn: Cng, tr ma trn: >> a=[2 3]; Trang 3

Bo co n TVT1

GVHD : Bi Minh Thnh

>> b=[1 2]; >> a+b ans = 3 5

Nhn hai ma trn: >> a*b ans = 8 >> a.*b ans = 2 6

Chia cc thnh phn ca ma trn ny cho mt ma trn khc: >> a./b ans = 2.0000 1.5000 Ly tha ca ma trn: >> a.^2 ans = 4 9

>> c=[1 2; 3 4]; >> c^2 ans = 7 10 15 22

-Ma trn c bit: zeros(m,n): ma trn ton 0 eye(n):ma trn n v Trang 4

Bo co n TVT1

GVHD : Bi Minh Thnh

ones(m,n): Ma trn ton 1 4) Lp trnh trong matlab: 4.1) Biu thc iu kin: Gn ging trong C -If, else , elseif. -switch( ch thc thi duy nht mt nhm lnh) 4.2) Vng lp: -for, while. 5)Hm m-file: Hm m-file l mt chng trnh con do chng ta yu cu cc i s ng vo v c th tr v i s ng ra C php: function[outputArgs]=function_name(inputArgs) -Ch thch(t sau du %, ch thch s hin ra khi dng lnh help) -Cc lnh. -return; Phi lu li vi tn gi ng tn hm. V d:V hm sau trong kho ng [-10,10] Gii: function f = function1(x) y = 1./((x-0.3).^2+0.01)+1./((x-0.9).^2+0.04)-6 ; Lu li vi tn function1.m >>fplot(function1,[-10,10]); 6)V hnh trong Matlab: -Matlab cung cp nhiu hm biu din th 2D v 3D. plot: v th 2D plot3: v th 3D Trang 5

Bo co n TVT1

GVHD : Bi Minh Thnh

loglog: v th cc trc l logarit semilogx, semilogy: v th vi 1 trc l logarit -S dng hm figure to nhiu ca s hnh v -S dng lnh subplot v nhiu hnh trn mt ca s -Hm ch thch hnh v: title: Nhn hnh v xlabel, ylabel,zlabel: nhn cc trc. legend: thm ch thch vo hnh v V d: x = -pi:.1:pi; y = sin(x); >>plot(x,y) xlabel('t = 0 to 2\pi','Fontsize',16) ylabel('sin(t)','Fontsize',16) title('\it{Gia tri cua sin tu zero den 2 pi}','Fontsize',16)

II) Matlab GUI:


1) Gii thiu: Gui-l giao din bng hnh nh ca chng trnh Gui-bao gm cc nt nhn, hp lit k, thanh trt, menu chng cung cp cho ngi dng s dng mt mi trng lm vic thn thin h tp trung vo cc ng dng ca chng trnh hn l i tm hiu cch thc lm vic ca chng trnh .

Trang 6

Bo co n TVT1

GVHD : Bi Minh Thnh

m cng c to Gui : File New GUI Khi lu giao din va to, Matlab s to ra hai file c cng tn nhng khc phn m rng: - File c phn m rng .fig cha n i dung ca giao din - File c phn m rng .m cha nhng on m lin quan n giao din

Trang 7

Bo co n TVT1

GVHD : Bi Minh Thnh

Trang 8

Bo co n TVT1

GVHD : Bi Minh Thnh

Khi thit k bt c thnh phn no ca Gui ta cn thit lp thuc tnh cho thnh phn . thit lp cc thuc tnh ta c th chn mc Property Inspector trn thanh cng c hoc right-click vo i tng v chn mc Inspector Properties Hai thuc tnh quan trng m ta cn xc lp l String Property v Tag Property. - String property : dng k t xut hin trn i tng. - Tag property : tn ca i tng. Khi click chut vo 1 i tng, Matlab s gi hm tng ng vi i tng . Tn ca hm chnh l tn ca i tng cng vi _Callback

2) Cc hm thng c s dng trong Gui: Set : Thay i gi tr ca cc thuc tnh ca mt i tng giao din set(handles.TextBox,String,str) Get : Truy xut gi tr ca thuc tnh ca mt i tng giao din get(handles.EditBox,String) Ngoi ra cn c cc hm nh axes, guide, num2str(), str2num()

Trang 9

Bo co n TVT1

GVHD : Bi Minh Thnh

CHNG II: C BN V NH V CC HM X L NH C BN TRONG MATLAB


I) Cc kiu nh trong Matlab:
1) nh Index: nh c biu din bi hai ma trn, mt ma trn d liu nh X v mt ma trn mu (cn gi l bn mu) map. Ma trn d liu c th thuc kiu uint8, uint16 hoc double. Ma trn mu l mt ma trn kich thc m x 3 gm cc thnh phn thuc kiu double c gi tr trong khong [0 1]. Mi hng ca ma trn xc nh thnh phn red, green, blue ca mt mu trong tng s m mu c s dng trong nh. Gi tr ca mt phn t trong ma trn d liu nh cho bit mu ca im nh nm hng no trong ma trn mu.

Trang 10

Bo co n TVT1

GVHD : Bi Minh Thnh

2) nh grayscale: Mi nh c biu din bi mt ma trn hai chiu, trong gi tr ca mi phn t cho bit sang (hay mc xm) ca im nh . Ma trn ny c th mt trong cc kiu uint8, uint16 hoc double. nh biu din theo kiu ny cn gi l nh trng en.

3) nh nh phn: nh c biu din bi mt ma trn hai chiu thuc kiu logical. Mi im nh ch c th nhn mt trong hai gi tr l 0 (en) hoc 1 (trng)

Trang 11

Bo co n TVT1

GVHD : Bi Minh Thnh

4) nh RGB: Cn gi l nh truecolor do tnh trung thc ca n. nh ny c biu din bi mt ma trn ba chiu kch thc m x n x 3, vi m x n l kch thc nh theo pixels. Ma trn ny nh ngha cc thnh phn mu red, green, blue cho mi im nh, cc phn t ca n c th thuc kiu uint8, uint16 hoc double.

Trang 12

Bo co n TVT1

GVHD : Bi Minh Thnh

II) Cc php bin i nh:


1) Bin i Fourier: Php bin i Fourier biu din nh di dng tng ca cc ly tha phc ca cc thnh phn bin , tn s, pha khc nhau ca nh. Nu f(m,n) l mt hm ca hai bin khng gian ri rc m v n, th bin i Fourier hai chiu ca f(m,n) c nh ngha :

F (w1,w2)=

f (m, n)e

jmw1

jnw 2

m n Nu f(m,n) biu din sng ca nh X v tr pixel (m,n) th F(w1,w2) chnh l bin i Fourier ca nh X. Do cc d liu trn my tnh c lu tr di dng ri rc, c th l d liu nh c t chc theo n v pixel nn php bin i Fourier cng c ri rc ha thnh bin i Fourier ri rc (DFT). Gi s hm f(m,n) ch khc 0 trong min (0<=m<=M -1,0<=n<=N-1), cc php bin i DFT thun v nghch kch thc M x N c nh ngha nh sau :
M 1N 1

F ( p,q) =
m 0n 0

f (m, n)e

j (2 / M ) pm

j (2 / N ) qn

(0<=p<=M-1,0<=q<=N-1) Trang 13

Bo co n TVT1

GVHD : Bi Minh Thnh

M 1N 1

f (m,n) =
p 0q 0

F ( p, q)e j (2

/ M ) pm

e j (2

/ N ) qn

(0<=m<=M-1,0<=n<=N-1)

F(p,q) gi l cc h s ca bin i DFT. Vi cc ng dng trong x l nh, chng ta ch quan tm n cc hm fft2 v ifft2. C php : F=fft2(X,Mrows,Ncols) f=ifft2(F,mrows,ncols) Nu nh ban u c kch thc nh hn th Matlab t ng thm vo cc zero pixel trc khi bin i. Sau khi thc hin bin i DFT bng fft2, thnh phn DC s nm gc trn bn tri ca nh. Ta c th dng hm fftshift dch thnh phn DC ny v trung tm ca nh. 2) Php bin i DCT: Bin i DCT (Discrete Cosine Transform) biu din nh di dng tng ca cc cosine ca cc thnh phn bin v tn s khc nhau ca nh. Hu ht cc thng tin v nh ch tp trung trong mt vi h s ca bin i DCT, trong khi cc h s cn li cha rt t thng tin. Bin i DCT 2 chiu ca mt ma trn A kch thc M x N l:
M 1N 1

Bpq =

p q p 0q 0
M 1N 1

Am cos

(2m 1) p (2n 1)q cos 2M 2N


(2m 1) p (2n 1)q cos 2M 2N

vi 0<=p<=M-1 0<=q<=N-1

A mn =
p 0q 0

p q

Bpq cos

vi 0<=m<=M-1

0<=n<=N-1 Php bin i DCT thun v nghch c thc hin bng cc hm dtc2 v idtc2. Cc hm ny s dng gii thut da theo FFT tng tc tnh ton. C php : B=dtc2(A,M,N) A=idtc2(B,M,N) 3) Bin i Radon: Php bin i Radon c thc hin bi hm radon trong Matlab, biu din nh di dng cc hnh chiu ca n dc theo cc hng xc nh. Hnh chiu ca mt hm hai bin f(x,y) l tp hp cc tch phn ng. Hm radon tnh cc tch phn ng t nhiu im ngun dc theo cc ng dn song song, gi l cc tia chiu, theo mt hng xc nh no . Cc tia chiu ny nm cch nhau 1 pixel. biu din ton b nh, hm radon s ly nhiu hnh chiu song song ca nh t cc gc quay khc nhau bng cch xoay cc im ngun quanh tm ca nh.

Trang 14

Bo co n TVT1

GVHD : Bi Minh Thnh

Bin i Radon ca f(x,y) tng ng vi gc quay trc y :

l tch phn ng ca f dc theo

Trong Matlab, bin i Radon c tnh bng hm Radon c c php nh sau : [R,Xp] = radon(I,theta)

Trang 15

Bo co n TVT1

GVHD : Bi Minh Thnh

Php bin i Radon vi nhiu gc thng c hin th di dng nh.

Trang 16

Bo co n TVT1

GVHD : Bi Minh Thnh

III) Cc hm x l c bn:
1) c v ghi d liu nh: Hm imread c cc file nh vi bt k cc nh dng nh bit hin nay v lu li di dng mt ma trn biu din nh trong Matlab. C php : A= imread(filename,fmt) Hm imwrite cho php lu mt nh biu din bng mt ma trn trong Matlab thnh mt file nh di mt trong cc nh dng bit. C php : imwrite(A,filename,fmt) Hm imfinfo dng xem cc thng s ca mt file nh no . C php : imfinfo(filename,fmt) Cc thng tin c cung cp bi hm imfinfo l : filename, filemoddate, filesize, format, formatversion, width, height, bitdepth, colortype. 2) Chuyn i gia cc kiu d liu, kiu nh: 2.1)Chuyn i gia cc kiu d liu nh: Matlab cung cp sn cc hm thc hin chuyn kiu cho cc ma trn biu din nh, bao gm : im2double, im2uint8 v im2uint16. Tuy nhin, khi thc hin chuyn kiu gia cc d liu nh cn lu mt s iu sau: Khi chuyn t mt kiu d liu dng nhiu bit sang mt kiu d liu dng it bit hn th mt s thng tin chi tit v bc nh ban u s b mt. Khng phi lc no cng c th chuyn i kiu d liu i vi kiu nh indexed, v cc gi tr ca ma trn nh xc nh mt a ch trong bn mu ch khng phi l gi tr mu, do khng th lng t ha c. 2.2) Chuyn i gia cc kiu nh: Dither : dither(RGB,map) dither(I) Gray2ind : [X,Map] = gray2ind(I,N) [X,Map] = gray2ind(BW,N) Grayslice : x=grayslice(I,N) x=grayslice(I,V) Im2bw : bw=im2bw(I,level) bw=im2bw(x,map,level) bw=im2bw(rgb,level) Ind2gray : i=ind2gray(x,map) Ind2rgb : rgb=ind2rgb(x,map) Mat2gray : i=mat2gray(a,[amin amax]) Rgb2gray : i=rgb2gray(rgb) Rgb2ind : [x, map]=rgb2ind(rgb,n) Trang 17

Bo co n TVT1

GVHD : Bi Minh Thnh

x=rgb2ind(rgb,map) [x,map]=rgb2ind(rgb,tol) 3)Cc php ton s hc c bn i vi d liu nh: Cc php ton s hc c bn trn cc d liu nh bao gm cc php cng, tr, nhn v chia. Tuy nhin, Matlab ch h tr cc php ton ny trn kiu double nn cn thc hin chuyn i kiu trc khi thc hin. gim bt thao tc ny, trong IPT c cung cp cc hm thc hin cc php ton s hc trn nh m c th chp nhn bt k kiu d liu nh no v tr v kt qu thuc cng kiu vi cc ton hng. Cc hm ny cng x l cc d liu trn mt cch t ng. Imabsdiff : z=imabsdiff(x,y) Imadd : z=imadd(x,y,out_class) Imcomplement : im2=imcomplement(im) Imdivide : z=imdivide(x,y) Imlincomb : z=imlincomb(k1,a1,k2,a2,,kn,an,k,out_class) Immultiply : z=immultiply(x,y) Imsubstract : z=imsubstract(x,y)

4) Cc hm hin th nh trong Matlab: Matlab cung cp hai hm hin th c bn l image v imagesc. Ngoi ra trong IPT cng c hai hm hin th nh khc, l imview v imshow. Hm image(X,Y,C) hin th hnh nh biu din bi ma trn C kch thc M x N ln trc ta hin hnh. X, Y l cc vector xc nh v tr cc pixel C(1,1) v C(M,N) trong h trc hin hnh. Hm imagesc c chc nng tng t nh hm image, ngoi tr vic d liu nh s c co gin s dng ton b bn mu hin hnh. Hm imview cho php hin th hnh nh trn mt ca s ring, nn Java, gi l image Viewer. Image Viewer cung cp cc cng c d tm v xc nh cc gi tr pixel mt cch linh hot. Hm imshow cng to mt i tng ha thuc loi image v hin th nh trn mt figure. Hm imshow s t ng thit lp cc gi tr ca cc i tng image, axes v figure th hin hnh nh. 5) Cc php bin i hnh hc: 5.1) Php ni suy nh: Ni suy l qu trnh c lng gi tr ca mt im nm gia hai pixel c gi tr bit. IPT cung cp 3 phng php ni suy nh : ni suy theo cc ln cn gn nht, ni suy song tuyn tnh v ni suy bicubic. C 3 phng php u thc hin theo nguyn tc chung : Trang 18

Bo co n TVT1

GVHD : Bi Minh Thnh

xc nh gi tr ca mt pixel nh ni suy, ta tm mt im trong nh ban u tng ng vi pixel , sau gi tr ca pixel nh mi s c tnh bng trung bnh c trng s ca mt tp cc pixel no ln cn ca im va xc nh, trong trng s ca cc pixel ph thuc vo khong cch ti im ny. Phng php ln cn gn nht (nearest neighbor) : pixel mi s c gn gi tr ca pixel cha im tng ng ca n trong nh ban u Phng php song tuyn tnh (bilinear interpolation) : pixel mi s c gn l trung bnh c trng s ca cc pixel trong mt ln cn kch thc 2 x 2. Phng php bicubic, pixel mi s c gn l trung bnh c trng s ca cc pixel trong mt ln cn kch thc 4 x 4. 5.2) Thay i kch thc nh: Hm imresize cho php ngi s dng thay i kch thc nh. Ngoi kch thc nh mi, ngi s dng cn c th xc nh phng php ni suy s dng v loi b lc dng chng aliasing. C php : b=imresize(a,m, method) :to nh gp m ln nh a. b=imresize(a,[mrows mcols],method) b=imresize(a,[mrows mcols],method,N) b=imresize(a,[mrows mcols],method,h) 5.3) Php quay nh: thc hin php quay nh, ta c th s dng hm imrotate. Ngoi hai thng s c bn l nh gc v gc quay, ngi s dng cng c th xc nh phng php ni suy s dng v kch thc ca nh mi. C php : b=imrotate(a,angle,method,Bbox) 5.4) Trch xut nh: Khi cn trch xut mt phn nh gc, ta dng hm imcrop. Xc nh c th v tr ca phn nh cn trch xut (di dng hnh ch nht) C php : x2=imcrop(x,map,rect) % indexed x2=imcrop(a,rect) % grayscale or RGB trong rect=[Xmin Ymin width height] S dng mouse chn phn nh cn trch xut. Ta khng cn cung cp thng s rect, khi thc hin hm ny, con tr s chuyn sang dng ch thp, ngi dng s ko chut chn phn nh cn trch xut sau th chut.

Trang 19

Bo co n TVT1

GVHD : Bi Minh Thnh

CHNG III: NNG CAO CHT LNG NH


I) M u:
Nng cao cht lng nh s l qu trnh x l trn nh ban u to ra kt qu l mt bc nh tt hn xt theo mt tiu ch c th. V d x l nng cao cht lng ca nh chp X quang s khc vi vic nng cao cht lng ca nh chp ca mt v tinh a tnh. C nhiu phng php nhm tng cng cht lng ca nh, nhng tp trung vo hai nhnh chnh l x l nh trong min khng gian v x l nh trong min tn s. Trong min khng gian, nh c x l trc tip trn cc pixels. Min tn s s dng bin i Fourier x l.

II) X l nh trong min khng gian:


1) Gii thiu: Min khng gian l tp hp cc pixels trong mt bc nh. Chng ta s tin hnh x l trc tip trn cc pixels ny. Qu trnh x l ny c th c m t thng qua biu thc sau: g(x,y)=T[f(x,y)] Vi f(x,y) l nh gc, g(x,y) l nh sau x l, v T l php ton bin i, da trn cc im nh xung quanh (x,y).

Cc im nh xung quanh c th c cc kch c khc nhau, c th l dng vung hoc ch nht, trong im nh cn x l v tr trung tm. Trn hnh l mt khung c kch thc 3*3. Ty mc ch c th m ta dng cc php bin i khc nhau. Trang 20

Bo co n TVT1

GVHD : Bi Minh Thnh

2)Php bin i mc xm: Trong php bin i ny, gi tr g(x,y) ch ph thuc vo gi tr ca f(x,y), v T tr thnh hm bin i mc xm. Ta c biu thc n gin sau: s=T(r) Vi r l mc xm ban u ti (x,y), s l mc xm sau bin i ti (x,y). V d: Xt hai php bin i mc xm sau:

Vi hnh a, php bin i cho ta nh sau x l c tng phn cao hn so vi nh ban u. Cc gi tri mc xm r<m qua php bin i c nn li gn mc 0( ti hn), tng t vi cc gi tr r>m nhng c nn li gn mc 1( sng hn) lm nh sau x l c tng phn cao. Php bin i hnh b nhm bin 1 nh grayscale thnh 1 nh nh phn. Ta xt mc ngng m, vi r<m c xt thnh mc 0, v r>m xt thnh mc 1. 2.1) Mt s php bin i mc xm c bn: a) nh m bn: Vi 1 nh c cc gi tr mc xm nm trong khong [0,L-1], ta c: s=L-1-r Ta s dng php bin i ny trong trng hp mun lm ni bt cc chi tit c mu sng trong mt vng ti, c bit vi cc bc nh c vng ti ln.

Trang 21

Bo co n TVT1

GVHD : Bi Minh Thnh

Hnh trn l hnh chp mt m ngc, vi nh bn tri l nh gc v bn phi l nh m bn. Ta c th d dng thy c vic phn tch s d dng hn vi nh m bn. b) Php bin i log: Biu thc:
s=c*log(1+r)

Cc gi tr r mc thp di hp qua php bin i s to ra di rng hn, trong khi cc gi tr r mc cao s nn li thnh 1 di hp ng ra. Php bin i ny nhm mc ch tng chi tit ha vng ti.

nh trc v sau x l dung php bin i log, c=0.8

c) Bin i theo quy tc ly tha: Biu thc:

Trang 22

Bo co n TVT1

GVHD : Bi Minh Thnh

- Vi <1, php bin i tng t vi hm log, nhng gi tr ca c th thay i c, trong khi hm log l c nh. Vi php bin i ny, cc gi tr r mc thp di hp qua php bin i s to ra di rng hn, trong khi cc gi tr r mc cao s nn li thnh 1 di hp ng ra. - Vi =1, php bin i l mt hm tuyn tnh gia ng vo v ng ra. c bit khi c= =1, nh ra v nh vo l ging nhau.

Trang 23

Bo co n TVT1

GVHD : Bi Minh Thnh

- Vi >1, ta c php bin i ngc so vi

nh gc

Trang 24

Bo co n TVT1

GVHD : Bi Minh Thnh

Ta nhn thy

lm tng tng phn ca hnh nh.

Trong Matlab cng c cc hm gip bin i mc xm ca nh grayscale. g=imadjust(f,[low_in high_in], [low_out high_out],gamma])

[low_in, high_in], [low_out, high_out] nm trong khong [0,1]. Cc gi tr nh hn hoc bng low_in s c gn bng low_out v cng tng t vi cc gi tr high_in v high_out.. Gi tr mc nh ca gamma=1. V d: >>g=imadjust(f,[0.5 0.75],[0 1],2); Ta cng c th dng hm imadjust to nh m bn: >>g=imadjust(f,[0 1],[1 0]); Ngoi ra ta c th dng hm imcomplement to nh m bn: >>g=imcomplement(f);

Trang 25

Bo co n TVT1

GVHD : Bi Minh Thnh

2.2) X l histogram: Histogram ca 1 nh grayscale c L mc xm khc nhau l mt hm ri rc, c biu thc h(rk)=nk, trong rk l gi tr mc xm th k trong on [0,L-1] v nk l s pixels c gi tr mc xm l rk . V d vi on [0,255], r0=0, r1=1 Histogram thng c chun ha. Vi n l tng s pixels ca nh, histogram chun ha c tnh qua biu thc:

Ta c th xem p(rk) l hm mt xc sut ca rk, cho bit kh nng xut hin tng ng ca tng gi tr mc xm. Trong Matlab, ta c th s dng hm imhist lm vic vi histogram >>h=imhist(f,b) f l nh ban u, b l s on biu din(mc nh gi tr l 256). Vi b l 1 gi tr nh hn, gi s nh 2, th thang cng s chia lm 2 khong : 0 n 127, 128 n 255, trong h(1) l s pixels c gi tr trong on [0,127] v h(2) l s pixels c gi tr trong on [127,255]. Nu khng c thng s u ra: >>imhist(f) cho ta th histogram ca nh. Ngoi ra ta c th c c hm p(rk) qua biu thc:

>>p=imhist(f,b)/numel(f); Vi numel l tng s pixels c trong nh f. Trang 26

Bo co n TVT1

GVHD : Bi Minh Thnh

Cn bng histogram: Gi s ta c php bin i sau: Ta c c hm mt xc sut ca s:

Do pr l hm ri rc, ta c: Vi php bin i ny, nh sau x l s c biu histogram gn ging vi nh ban u nhng tri rng trn ton on [0,1],lm cho di ng ln hn v tng phn cao hn Matlab cung cp cho ta hm histeq thc hin cn bng histogram. g=histeq(f, nlev) Vi f l nh vo v nlev l s mc cng ca nh ra. Gi tr mc nh ca nlev l 64, thng ta chn l 256 cng mc vi histogram nh ban u.

Trn l nh trc v sau cn bng histogram cng vi biu histogram tng ng

Trang 27

Bo co n TVT1

GVHD : Bi Minh Thnh

Hnh di cho ta bit gi tr ca s thay i theo r. Ta nhn thy sau khi thc hin cn bng histogram, di hp ca mc xm nh ban u c m ra ton khong ca nh ra. Phi hp histogram: Trong phn trc, chng ta thy c cn bng histogram l mt hm c tnh thch nghi vi nh u vo. Phng php cn bng histogram tng i n gin, c th on trc histogram ca nh sau x l v c th cho nh ra c cht lng c nng cao r rt. Tuy nhin, histogram sau cn bng li c nh vi mi nh u vo v khng th thay i c. Trong mt s trng hp, vic cn bng histogram khng cho kt qu nh , hnh nh sau cn bng histogram khng c ci thin hoc khng p ng c yu cu. Xt mt v d c th sau:

Trang 28

Bo co n TVT1

GVHD : Bi Minh Thnh

Hnh trn l nh ban u v sau khi x l dng cn bng histogram. Ta thy rng nh ban u c vng ti chim din tch rt ln, do histogram c s tp trung cng v pha phn ti. Sau khi cn bng histogram,do s tp trung ln ca cc thnh phn nm gn 0 ca histogram nh gc nn histogram nh sau tp trung cng v pha na trn, lm cht lng nh khng c ci thin, m cn gim tng phn ca nh. Ta c th gii quyt vn ny bng cch thc hin mt qu trnh gi l phi hp histogram(histogram matching). Phi hp histogram l qu trnh bin i mc xm ca nh histogram ca nh mi c mt hnh dng c th nh trc. Ta bit php bin i cho ta kt qu l mc xm s tri rng trn

ton min. Gi s ta c mt bin z sao cho . Khi z phi tha phng trnh . T(r) c th tm c t nh ban u. Nu ta c p z(z) bit th -1 ta c th tm thy H . Trong Matlab ta dng hm histeq thc hin phi hp histogram. >>g=hiseq(f,hgram) hgram l mt vector gm cc s nguyn m s gi tr mc xm vi mi khong chia trong di mc xm [0,G].

Trang 29

Bo co n TVT1

GVHD : Bi Minh Thnh

Tr li vi v d trn. Ta thy histogram ca nh ban u c cc thnh phn mc xm tp trung hai phn. Phn u chim t l ln tp trung gn 0, v mt phn nh hn nm v pha bn ph i ca histogram. Ta bit rng do s tp trung mc xm ti gn 0 nn histogram nh ra khng tri trn ton min, v th ta c th dng ph i hp histogram gim s tp trung ny m vn gi c hnh dng tng th ban u ca histogram gc.

nh sau phi hp histogram c tng phn tt hn. Ta c th thy rng cc thnh phn mc xm tri u trn khong [0,255].

3)Lc nh khng gian: Nhiu thng xut hin trn nh do nhiu nguyn nhn khc nhau. gim nhiu v nng cao cht lng nh ta s dng nhng phng php lc khc nhau, ph hp vi m i loi nhiu c Trang 30

Bo co n TVT1

GVHD : Bi Minh Thnh

th. Trong chng ny ta s xt n l c nh trong khng gian. Chng tip theo s cp n lc nh trong min tn s. Lc khng gian(spatial filtering) cng l mt qu trnh x l trn cc im nh, da trn mt php ton vi cc im nh xung quanh. Phng php lc nh bao gm cc bc: (1)xc nh im nh trung tm (x,y); (2) thc hin cc php ton vi cc im xung quanh (x,y); (3) kt qua ta c p ng ca qu trnh lc ti (x,y); (4) lp li cc bc trn vi tt c cc im nh khc. 3.1)Lc tuyn tnh: Lc tuyn tnh l phng php lc trong mc xm m i pixel ca nh mi l t hp tuyn tnh ca cc mc xm ca cc pixels ln cn,tc l m i pixel ln cn s c nhn v i mt h s tng ng ri c cng li c p ng ti im nh trung tm. Nu vng ln cn c kch thc m n th ta c m*n h s tng ng. Trong Matlab,cc h s ny c sp xp trong mt ma trn kch thc m n,gi l b lc. C ch lc c thc hin bng cch di chuyn tm ca mt n qua ln lt tng im nh v thc hin tnh tng cc tch ca mc xm cc im nh xung quanh vi h s b lc. Kch thc b lc l l. Kch thc nh nht c ngha l 3 3.

Gi thit rng m=2a+1, n=2b+1, vi a,b 1. Ta c biu thc tnh mc xm ti (x,y): Trang 31

Bo co n TVT1

GVHD : Bi Minh Thnh

C hai khi nim khi chng ta thc hin phng php lc tuyn tnh, l tng quan(correlation) v tch chp(convolution).Tng quan l qu trnh dch b lc qua tng im nh nh ta cp. Tch chp cng s dng qu trnh tng t, ngoi tr b lc w quay 180 trc khi tin hnh dch b lc. Mt vn khc ta cng cn quan tm l tin hnh lc ti cc im nm gn bin nh. V i mt b lc vung n n, ti v tr cch bin mt khong cch b lc s c bin trng kht vi bin nh, nhng i vi cc im nh nm gn bin th mt hoc mt s hng hoc ct ca ma trn lc s nm bn ngoi nh. C nhiu gii php gii quyt vn ny. Mt gii php n gin l ta ch tin hnh x l ti cc im c khong cch khng nh hn so vi bin nh. Kt qu l nh sau lc c kch thc nh hn so vi nh gc nhng ton b im nh u c x l. Trong trng hp cn nh sau x l c cng kch thc vi nh gc, mt gii php l tin hnh x l cc im nh gn bin vi cc h s b lc ph trong nh v b qua cc h s nm bn ngoi nh. Mt gii php khc l thm mt s mc xm vo nh gc, gi l m(padding) mt n ph ton b nh. Ming m c th l mt s hng v ct c gi tr 0(hoc mt hng s no ), hoc thm cc hng v ct lp li cc gi tr mc xm trn bin nh, hoc i xng vi cc im nh bn trong qua bin nh. iu d thy l kch thc mt n cng ln, nh sau lc s c sai lch cng ln so vi nh gc, do nh khng b bin dng th cch duy nht l thc hin lc i vi cc im nh c kch thc khng nh hn Xt mt v d sau:

Trang 32

Bo co n TVT1

GVHD : Bi Minh Thnh

Ta c mt hm f v mt mt n w. Ta tin hnh thm ming m vo f, c th l cc s 0 mt n w qut ton b cc im ca f. i vi php ton tng quan ta tin hnh dch mt n w theo tng im ca f, ti mi im ta tin hnh cng cc tch s ca hai hm f v w. i vi tch chp, ta quay w mt gc 180 ri tin hnh nh trn. Kt qu cui cng c th hin, chia ra lm hai dng full v same. Dng full l kt qu ca qu trnh tnh ton nh trn, trong khi dng same cho ta kt qu c cng kch thc vi f. Xt 1 v d tng t nhng l mng 2 chiu:

Trang 33

Bo co n TVT1

GVHD : Bi Minh Thnh

Matlab cung cp cho ta hm imfilter thc hin lc tuyn tnh. C php ca hm nh sau: >>g=imfilter(f,w,filtering_mode, boundary_options,size_options) Trong f l nh gc, g l nh sau x l, cc thng s ty nh:filtering_mode c gm corr thc hin php ton tng quan v conv thc hin php chp, mc nh l corr, size_options c th l same v full ging nh cch thc hin v d trn, mc nh l same. Thng s boundary_options cho ta cch thc chn m(padding). Matlab cho ta 4 cch thc: P: Bin nh gc s c thm padding c gi tr mc xm l P, mc nh l 0 replicate: cc mc xm bn ngoi lp li gi tr ca bin. symmetric: cc mc xm bn ngoi i xng gng vi cc im nh bn trong qua bin. circular: nh c thm padding trn c s gi thit nh u vo l mt hm tun hon.

Trang 34

Bo co n TVT1

GVHD : Bi Minh Thnh

Ta xt mt v d c th s dng hm imfilter: Gi s ta c mt nh f class double, kch thc 512 512 >>w=ones(31); cho ta mt n lc l ma trn vung 31 31. Do y l ma trn i xng nn ton tng quan v chp l nh nhau.

Hnh a l nh ban u. Hnh b l kt qu ca qu trnh lc nh dng padding l cc mc xm gi tr 0(mu en), ta thy nh b lm m i cnh gia 2 vng trng v en, cng nh gia phn bin nh vi vng trng. iu ny c th gii thch nh sau: Do mc xm ti mt im l tng ca cc tch mc xm cc im vng ln cn vi h s ca b lc, y cc h s b lc l 1, do mi im nh xem nh l gi tr trung bnh ca cc im nh xung quanh, dn n kt qu nh trn. Ta c th loi b phn m vng bin bng cch dng thng s replicate hoc symmetric nh kt qu c v d. Vi hnh e, ta s dng thng s circular. Do s lp li c tnh chu k lm cho vng sng v t i nm cnh nhau, dn n kt qu l ton b bin nh cng nh phn cnh gia 2 vng sng v ti bn trong bc nh b m. Nu ta s dng nh ban u l class uint8 v s dng b lc w nh trn, ta nhn c kt qu l hnh f vi mt phn d liu nh gc b mt. L do l cc gi tr ln hn 255 u b gn gi tr 255. gii quyt vn , ca s lc cn c chun ha trc khi tin hnh lc: Trang 35

Bo co n TVT1

GVHD : Bi Minh Thnh

>>w=w/(sum(w(:))); Ta c cng thc tnh mc xm ca nh sau x l qua b lc chun ha:

3.2)Lc phi tuyn: Cng nh lc tuyn tnh, lc phi tuyn s dng mt ca s lc v trt qua cc pixels ca nh gc. Tuy nhin nu lc tuyn tnh da theo vic ly tng c trng s cc pixels ln cn th lc phi tuyn s thc hin mt php ton phi tuyn vi cc pixels . V d, gn gi tr ti m i pixel bng gi tr ln nht ca cc pixel ln cn l mt php ton phi tuyn. Matlab cung cp cho ta 2 hm nlfilter v colfilt thc hin lc phi tuyn mt cch tng qut. Hm nlfilter thc hin trc tip trn ma trn 2 chiu, trong khi hm colfilt lc theo tng ct. Hm colfilt i h i nhiu b nh hn nlfilter, nhng tc thc thi li nhanh hn ng k. Cc ng dng thng i hi tc cao nn hm colfilt c s dng nhiu hn. Ta ni r hn v cch dng hm colfilt. Gi s ta c mt nh f kch thc M N, v mt ca s lc kch thc m n, colfilt s to ra m ma trn, gi s tn l A, vi kch thc ln nht c th l mn MN, trong m i ct s tng ng vi cc phn t im nh ln cn im nh cn lc. V d nh ct u tin s tng ng vi cc pixels ln cn im nh v tr u tin ca nh. i vi cc cc im nh gn bin th ct tng ng ca ma trn A s c thm cc thnh phn padding, colfilt s dng padding l 0. Thng thng A c kch t hc cc ct nh hn MN v hm colfilt thng chia nh f ra lm nhiu nh nh tit kim b nh. >>g=colfilt(f,[m n], sliding, @fun); Trong f l nh gc, g l nh sau x l, ca s lc c kch thc m n, sliding l thng s s dng trong lc phi tuyn, ch ra qu trnh x l l trt ca s lc qua cc pixels ca nh f, fun l mt hm phi tuyn c nh ngha t trc. Do cch sp xp ca ma trn A nh trn, hm fun phi tin hnh trn m i ct ca A, to ra mt vector hng v, trong m i phn t l kt qu ca php ton trn m i ct ca A. Ta c th suy ra l vector v c kch thc ln nht c th l 1 MN. Do colfilt t to padding cho nh c gi tr l 0 v khng th thay i c. Do , khng nh lc tuyn tnh dng hm imfilter c th ty bin padding, i vi lc phi tuyn ta phi tin hnh thm padding ngay lc u cho nh trc khi tin hnh lc. Matlab cung cp cho ta hm padarray thc hin vic ny. >> fp=padarray(f, [r c], method, direction); Trang 36

Bo co n TVT1

GVHD : Bi Minh Thnh

Trong f l nh ban u, fp l nh sau khi thm padding, [r c] l s hng v ct m ta mu n thm vo nh, thng s method c cc la chn P(gi tr mc xm), symmetric, replicate v circular vi cch thc thc hin c cp trn, gi tr mc nh l 0 , direction c th l pre, post, both(mc nh) cho php thm padding vo trc phn t u tin, sau phn t u tin ca m i chiu, hoc c hai.

Xt v d sau:

>>f= [ 1 2; 3 4]; >>fp=padarray(f, [3 2], replicate, post) fp =

1 3 3 3 3

2 4 4 4 4

2 4 4 4 4

2 4 4 4 4

By gi chng ta s nh ngha mt hm lc phi tuyn v ly hm ny lm tham s cho hm colfilt function v=gmean(A) mn= size(A,1); v=prod(A,1).^(1/mn); Hm trn dng tnh trung bnh nhn(geometric mean) ca cc gi tr mc xm ln cn i m nh x l. Cng thc tnh trung bnh nhn t ng qut l:

Trang 37

Bo co n TVT1

GVHD : Bi Minh Thnh

Tip theo ta tin hnh thm padding cho nh gc: >>f=padarray(f,[m n], replicate); Cui cng ta dng hm colfilt to nh mi: >>g=colfilt(f, [m n], sliding, @gmean); Hm colfilt s ly kt qu thc hin t hm gmean, t o ra mt vector hng cha kt qu php ton trung bnh nhn thc hin vi m i ct ca A, sau sp xp li thnh mt ma trn 2 chiu l nh ra ca b lc. Php ton ly trung bnh nhn ta s gp trong phn phc h i nh. 3.3)ng dng lc nh khng gian: 3.3.1)Cc b lc lm mn nh: Cc b lc lm mn nh c s dng lm m v gim nhiu. Lm m nh c s dng trong qu trnh tin x l nh, nhm mc ch loi b cc chi tit nh ra khi nh trc khi tin hnh tch cc thnh phn ln hn kh i nh, lm m cn c s dng lm lin li nhng t qung nh ca ng thng hoc ng cong. Chng ta cng c th gim nhiu bng cch lm m nh bng cc b lc tuyn tnh cng nh phi tuyn. a)Lc tuyn tnh: Nh ta bit, lc tuyn tnh l mt qu trnh trong mi im nh c gi tr bng trung bnh ca cc im nh ln cn xc nh bi b lc. Do nh sau x l tr nn mt hn, gim sc nt so vi nh gc. Kt qu l cc thnh phn nhiu ngu nhin, thng c mc xm khc bit vi cc vng ln cn s c loi b. Tuy nhin mt hn ch d thy khi tin hnh lm mt nh l ti cc v tr bin( chi tit c s dng nhiu trong x l nh), ni c s thay i nhanh chng ca cc mc xm, li b lm m i nh hng n cc bc tip theo trong x l nh. Tuy nhin nu s dng ca s lc thch hp, ta c th gim nhiu m ch t nh hng n bin nh. Mt ca s lc chun ha thng thy v c cp l ca s c cc h s ging nhau:

Trang 38

Bo co n TVT1

GVHD : Bi Minh Thnh

w= 1/9

Mt loi ca s lc chun ha khc c cc h s khc nhau:

w= 1/16

B lc trn tin hnh ly trung bnh c trng s i vi cc im nh ln cn, tc l mi i m nh c nhn vi mt h s khc nhau, h s cng ln th im nh c trng s cng ln. b lc trn, im nh trung tm c vai tr quan trng nht trong php ton tnh trung bnh, cng ra xa im nh trung tm trng s ca cc im nh cng gim dn. Mc ch ca vic lm ny l hn ch nh b m khi tin hnh lm mt. Tuy nhin ta rt kh thy s khc bit gia hai b lc trn do ca s lc c kch thc nh hn nhiu so vi kch thc nh

Trang 39

Bo co n TVT1

GVHD : Bi Minh Thnh

Ta xt v d trn vi vic s dng cc b lc trung bnh c kch c khc nhau, y ta dng padding l cc gi tr 0. Hnh a l nh gc. Hnh b s dng b lc 3 3, hnh b m i cht t, vi cc chi tit nh nh ch a nh v thnh phn nhiu b m nhiu hn so vi cc chi tit khc. Kt qu tng t cng xy ra vi hnh c s dng b lc kch thc 5 5. Ta thy cc chi tit nh nh nhiu gim dn, cc mp hnh rng ca cng c lm mt hn, nhng vn m bo cch thnh phn kch thc ln khng b nh hng nhiu. nh d dng ca s 9 9, nh m hn, cc chi tit nhiu c gim kh nhiu. nh e v nh f dng cc b lc tng ng 16 16 v 35 35, cc chi tit nh gn nh b loi kh i nh, do c th d dng ly c cc thnh phn c kch thc ln. Xt mt v d khc:

Trang 40

Bo co n TVT1

GVHD : Bi Minh Thnh

Hnh a l nh gc. Hnh b l nh sau lc vi b lc kch thc 15 15, cho ta thy cc chi tit nh gn nh b loi b. thu cc thnh phn kch thc ln ca nh ta c th bin i nh b thnh nh nh phn. y ta cho mc ngng l 25% gi tr mc xm ln nht ca nh b. Kt qu ta c nh c, tt c cc chi tit nh b loi b, ch cn cc thnh phn kch thc ln. b) B lc hng(Order-Statistics filters): Lc hng l phng php lc trong mc xm ti mt im c tnh da trn s xp hng cc im nh ln cn. Trong Matlab, hm ordfilt2 cung cp cho ta b lc dng ny. >>g= ordfilt2(f, order, domain) Hm ordfilt sp xp th t t nh n ln cc im nm trong mt min xc nh domain, domain l mt ma trn c kch thc ca ca s lc, gm c cc phn t c gi tr 0 hoc 1 dng xc nh cc im nh ln cn c s dng, cc im nh ng vi 0 s khng c xp hng. Pixel ca nh gc s c thay th bng gi tr mc xm th oder. Gi s mun ly phn t nh nht trong ln cn m n, ta dng lnh: >>g=ordfilt2(f,1,ones(m,n)); hoc mun ly phn t ln nht: >>g=ordfilt2(f,m*n,ones(m,n)); Mt trng hp c bit ca lc hng l b lc trung v, trong phn t c chn l phn t xp hng chnh gia. B lc ny thng c s dng trong thc t. >>g=ordfilt2(f,median(1:m*n),ones(m,n)); Matlab cng cung cp hm medfilt2 thc hin lc trung v. >>g=medfilt2(f, [m n], padopt);

Trang 41

Bo co n TVT1

GVHD : Bi Minh Thnh

Trong [m n] cho ta cc thnh phn nm ln cn c kch thc m n, padopt c th l zeros, symmetric v index, khi cc pixels thm vo l 1 nu nh thuc kiu double v 0 nu thuc cc kiu khc. B lc trung v s dng hiu qu trong nhng trng hp c cc gi tr pixel ln hn hoc nh hn hn cc gi tr ln cn, v d nh nhiu salt and pepper, khi cc thnh phn nhiu ny do c mc xm khc bit vi cc im ln cn s c thay th bng mc xm gn bng cc im xung quanh. Xt v d:

Trang 42

Bo co n TVT1

GVHD : Bi Minh Thnh

Hnh a l nh chp ca mt board mch b nhiu salt and pepper. S dng b lc trung bnh kch thc 3 3 cho ta kt qu hnh b, nh bt nhiu nhng b m i.Hnh c l kt qu ca php lc trung v dng ca s lc 3 3 cho ta hnh nh c ci thin mt cch r rt. 3.3.2) Cc b lc lm sc nt nh: Mc ch ca vic lm sc nh l n i bt cc chi tit trong nh hoc lm sc cc chi tit b m bi qu trnh lm mt nh. Ta bit qu trnh lm mt nh l thc hin php ly trung bnh cc gi tr ln cn im nh cn x l, tng t nh php ton tch phn, trong khi qu trnh lm sc nt nh tp trung vo s sai khc gia cc chi tit trong nh, ging nh php ton vi phn. Kt qu l bin nh v cc chi tit nhiu, ni c s khc bit v mc xm vi cc i m nh xung quanh, c lm n i bt ln. Trong phn ny, ta s thc hin lm sc nt nh da trn o hm bc mt v bc hai ca hm ri rc. o hm bc 1 ca hm ri rc mt chiu:

V o hm bc 2 :

thy c s ging cng nh khc nhau v c bn gia hai phng php s dng o hm bc 1 v bc 2, ta xt mt v d c th sau:

Trang 43

Bo co n TVT1

GVHD : Bi Minh Thnh

Ta thy nh trn hnh a c mt ng cho v mt im nhiu. Hnh b biu din mc xm ca cc pixels nm trn ng ngang qua im gia ca nh, bao gm c im nhiu. Hnh c n gin ha cc gi tr mc xm ca hnh b, ch g m 8 mc xm khc nhau. T hnh c ta c th phn tch nh hng ca phng php o hm bc 1 v bc 2 i vi im nhiu, v i ng cho v cnh bin gia i tng v nn. Cc on c mc xm khng i th o hm bc 1 v 2 u cho p ng l 0. Vi on dc thoi(ramp), o hm bc 1 cho ta cc mc khc 0 trn ton on, o hm bc 2 ch cho cc gi tr khc 0 u v cui on, iu chng t vi cc on chuyn tip nh th o hm bc 1 to ra cnh dy hn v o hm bc 2 to ra cnh sc hn . Vi im nhiu( isolated point), p ng xung quanh v t i im nhiu o hm bc 2 ln hn so vi o hm bc 1, do o hm bc 2 to ra chi tit sc hn i vi nhiu v cc gi tr mc xm thay i nhanh. ng cho(thin line) cng tng t vi im nhiu. Cn li vi bc nhy(step) th p ng ca o hm bc 1 v 2 l tng t nhau. Ta c th kt lun: (1) o hm bc 1 to ra cc cnh dy hn so vi o hm bc 2, (2)o hm bc 2 nh hng nhiu hn n cc chi tit tinh. Trang 44

Bo co n TVT1

GVHD : Bi Minh Thnh

o hm bc 2 c s dng nhiu hn trong x l nh do n lm n i bt cc chi tit sc, do chng ta s tp trung vo phng php ny lm sc nt nh. Do nh l mt hm ri rc hai chiu nn ta cn c o hm bc hai ca hm 2 chiu. Ton t Laplace ca hm 2 bin l:

Ta cng c cng thc tnh o hm bc 2 cho hm ri rc hai chiu thng s dng l:

V:

Ton t Laplace trong khng gian ri rc 2 chiu l:

Biu thc trn c th thc hin i vi cc phn t ca nh bng cch nhn chp nh vi ma trn:

0 hoc

-1

-4

-1

-1

-1

Mt nh ngha khc v o hm bc 2 c s dng thm cc phn t ng cho: Trang 45

Bo co n TVT1

GVHD : Bi Minh Thnh

1 hoc

-1

-1

-1

-8

-1

-1

-1

-1

-1

Do Laplace l ton t o hm, n lm sc bn cc chi tit tinh hay cc thnh phn mc xm bin i nhanh, nhng li dn n gi tr 0 cho nhng vng c cng mt mc xm cng nh gim gi tr ca cc thnh phn mc xm t bin i. Mt cch n gin phc h i li cc vng ny nhng vn gi cho cc chi tit sc bn l cng nh gc vi nh thc hin php lc bng ton t Laplace.

Trong c=1 nu h s trung tm ca mt l lc l dng, c=-1 nu ngc li. Xt v d:

Trang 46

Bo co n TVT1

GVHD : Bi Minh Thnh

Hnh a l nh gc. Hnh b l nh sau x l dng mt n Laplace, y ta thy vng c thnh phn mc xm bin i chm sau khi lc s b gim gi tr. Trong khi phn cnh bin v cc chi tit c mc xm bin i nhanh c th hin r nt hn. Hnh c l kt qu ca vic cng nh gc vi nh Laplace, phc h i li phn b gim mc xm nhng vn gi c s sc nt ca cc chi tit. Hnh d s dng mt n c thm cc gi tr ng cho, cho hnh nh sc nt hn c. Mt n Laplace c th to ra trong Matlab nh hm fspecial >>fspecial(laplacian, alpha)

Trong h s

cho php chnh mc sc nt ca hnh nh.

Ta c th dng mt n lc trc tip nh sau:

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

-1

Trang 47

Bo co n TVT1

GVHD : Bi Minh Thnh

B lc tng cng(high-boost filter): B lc tng cng cng l mt ng dng ca ton t Laplace:

-1

-1

-1

-1

-1

A+4

-1

-1

A+8

-1

-1

-1

-1

-1

V i A Vi A bng 1, b lc tng cng ging nh mt n lc trc tip trn. A>1 th kh nng lm sc nt nh gim dn, nu A ln th nh sau x l gn nh gi ng nh ban u nhn vi 1 hng s. Mt ng dng ca b lc tng cng l lm sng nh v n nng mc xm trung bnh ca nh ban u m vn gi c tnh cht lm nt nh. V d:

nh gc

A=1

A=1.7

Trang 48

Bo co n TVT1

GVHD : Bi Minh Thnh

4) Lc nh trong min tn s: Trong phn trc chng ta cp n cc b lc khng gian nng cao cht lng nh s. Trong phn ny,chng ta s thc hin cc b lc nh trong min tn s thng qua bin i Fourier. Bin i Fourier ng vai tr quan trng trong x l nh, c kh nng linh hot cao trong thit k v tin hnh cc phng php lc trong vic nng cao cht lng nh, phc h i nh, nn nh Trong phn ny tao s tp trung vo cc b lc nng cao cht lng nh.

4.1) Bin i Fourier ri rc 2 chiu(2-D Discrete Fourier Transform( DFT)): Gi s ta c mt nh kch thc M N c m t bi hm 2 chiu f(x,y), DFT ca f l F(u,v) c cho bi biu thc:

Vi u=0,1,2,,M-1 v v=0,1,2,,N-1. Kt qu ta c h trc hai chiu trong min tn s vi hai bin u,v. Cc gi tr F(u,v) to thnh hnh ch nht kch thc M N, cng kch thc vi nh gc. Bin i Fourier ngc:

Trong Matlab bt u vi gi tr 1 trong ma trn, F(1,1) v f(1,1) s tng ng vi F(0,0) v f(0,0) trong biu thc trn. F(0,0) gi l thnh phn hng s hoc thnh phn 1 chiu(DC) ca bin i Fourier, F(0,0) bng MN ln tng gi tr f(x,y). Ta nhn thy f(x,y) l s thc, cn F(u,v) li l s phc. Ph bin : V pha: Mt ph cng sut: Trong min tn s ta s quan tm n Vi f(x,y) l thc, ta c: F(u,v) tun hon nn ta c: Trang 49 v .

Bo co n TVT1

GVHD : Bi Minh Thnh

Bin

ngc

cng

cho

ta

f(x,y)

tun

hon:

Do tnh cht i xng qua im (0,0) v tun hon ca v tr trung tm t c l v tr (M/2, N/2) ca ph. Ta c

, ta c th dch im(0,0) v

Vi uo=M/2 v vo=N/2 :

Do nhn

vi

th F(0,0) s dch n v tr trung tm.

Vic dch v tr nh vy cho ta quan st ph mt cch d dng hn v thc hin lc nh mt cch trc quan. T y khi ni n gi tr DC, ta xem im v tr trung tm ca ph. Trong Matlab, hm fft2 cho ta bin i Fourier ca ma trn khng gian 2 chiu: >>F=fft2(f); Php dch ph a gi tr F(0,0) v trung tm: >>F2=fftshift(f); quan st ph ta s dng hm imshow, vi lu l ph bin : >>imshow(abs(F2),[ ]); Ta cn c hm ifft2 l php bin i Fourier ngc: >>f=ifft2(F); V hm ifftshift a im v tr trung tm v gc tri trn cng ca ph: >>F=ifftshift(F2);

Trang 50

Bo co n TVT1

GVHD : Bi Minh Thnh

Hnh b l ph ca nh trong hnh a, c l kt qu ca qu trinh dch ph trong hnh b. 4.2) Lc nh trong min tn s: Mi gi tr F(u,v) cha tt c cc thnh phn f(x,y) nhn vi thnh phn m,do ph Fourier c lin quan n s thay i cc gi tr mc xm ca nh. Tn s thp ng vi cc thnh phn c s thay i chm v mc xm ca nh, trong khi tn s cao ng vi s thay i mc xm nhanh hn, v d nh nhiu v cnh bin. Nh vy nu lc i cc thnh phn tn s cao v l y thnh phn tn s thp th nh thu c s mt v gim nhiu, trong khi nu ta ch ly cc thnh phn tn s cao th nh sau lc s sc nhn v cc chi tit nh nhiu s n i bt hn. Ta c cc b lc tng ng l b lc thng thp v b lc thng cao. 4.2.1) Cc khi nim c bn: Ta c Ta bit lc nh trong khng gian l php chp gia nh f(x,y) v mt n w(x,y). N tng ng vi php nhn F(u,v) v H(u,v) trong min tn s. Ta c th tin hnh lc trong min tn s ri dng IDFT c nh sau lc Mt lu l nh v bin i ca n min tn s s c tnh chu k nh cp khi dng DFT v IDFT, dn n s tc ng ln nhau gia cc thnh phn khc 0 ca 2 chu k gn nhau lm nh sau x l b bin dng. Xt mt v d sau:

Trang 51

Bo co n TVT1

GVHD : Bi Minh Thnh

Bn tri l php chp gia hai tn hiu khng c tnh chu k , tng ng vi php lc trong min tn s. Bn phi l tch chp ca hai tn hiu tng t nhng c tnh tun hon. Ta thy kt qu tch chp cng l mt hm mang tnh chu k nhng b bin dng vi tn hiu bn tri. Ta c th gii quyt vn ny bng cch thm vo cc gi tr 0 cho c hai hm f v h. Gi s f v h bao gm A v B im, hm sau khi thm vo cc gi tr 0:

Vi P phi tha iu kin: tc ng ln nhau:

cc thnh phn khc 0 ca 2 chu k k nhau khng

Trang 52

Bo co n TVT1

GVHD : Bi Minh Thnh

Ta c kt qu ca php chp sau khi thm cc gi tr 0 khng cn b bin dng. Trang 53

Bo co n TVT1

GVHD : Bi Minh Thnh

Xt nh f(x,y) v b lc h(x,y) c kch thc ln lt l A B v C D, thc hin tng t nh trn bng cch thm padding l cc gi tr 0 cho c hai hm. Hai hm sau khi thm c cng kch thc, gi s l P Q. iu kin nh sau lc khng b bin dng l:

Do ta s dng cc b lc cng kch thc vi nh trong min tn s nn A=C v B=D

V d:

Hnh a l nh gc. Cc hnh b v c l nh sau lc dng b lc thng thp, nh cp l b lc lm mn nh. Hnh b s dng b lc nhng khng c padding, ta thy tc ng ca cc thnh phn hai chu k cnh nhau tc ng ln nhau. Cn hnh c, do c padding l cc gi tr 0 nn ta c th thy kt qu l vi vng sng b lm m cc phn cnh v bin. nh di cho ta thy s lp li ca nh theo chu k gii thch r hn cho hnh b v c.

Khng dng padding

S dng padding

Trang 54

Bo co n TVT1

GVHD : Bi Minh Thnh

4.2.2) Lc thng thp: Qu trnh lc nh trong min tn s c th tm tt nh sau: a)Nhn f(x,y) vi (-1)(x+y) b) Bin i Fourier x l nh min tn s c)Nhn F(u,v) vi b lc H(u,v) d) Tin hnh ly Fourier ngc ca kt qu (c) e)Ly phn thc ca kt qu (d) f) Nhn kt qu t (e) vi (-1)x+y cho ta nh sau lc S qu trnh lc nh trong min tn s:

Ta bit b lc thng thp gip lm mn nh, tng ng vi b lc trung bnh trong mi n khng gian. Ta s xt 3 loi b lc thng thp l b lc l tng, b lc Butterworth v b lc Gauss. B lc thng thp l tng c hm truyn t:

V i l mt gi tr khc 0, gi l ngng ct v D(u,v) l kho ng cch t im (u,v) n tm. B lc ny khng c trong thc t, nhng c th m phng bng Matlab. B lc Butterworth bc n, vi ngng ct Do, c dng:

B lc Gauss c dng: Trang 55

Bo co n TVT1

GVHD : Bi Minh Thnh

gi l lch chun, nu thay

bng Do, ta c gi tr ngng ct l Do.

B lc thng thp l tng

B lc thng thp Gauss

B lc thng thp Butterworth bc 2

B lc thng thp Butterworth bc 3

Trn l hnh cc b lc c cng kch thc 500 500, ngng ct l D o=50. Ta c mt nhn xt l dc ca b lc Gauss thp nht, ti v tr ngng ct D o bin gim cn 60,7% so vi gi tr ln nht l 1, b lc Butterworth c th xem l s chuyn tip gia b lc l tng v b lc Gauss, vi bc thp b lc Butterworth c dc gn ging b lc Gauss, nhng bc cng cao th li cng dc. Gi tr ti ngng ct bng 50% gi tr ln nht.

Trang 56

Bo co n TVT1

GVHD : Bi Minh Thnh

nh gc

D0=10

D0=30

D0=50

D0=150

D0=10

D0=30

D0=50

D0=150

V d trn s dng b lc Butterworth bc 2 i vi cc nh trn v b lc Gauss vi cc hnh di. Nhn xt: - Mc ct Do cng nh, nh cng b m, do b lc thng thp lc cc thnh phn tn s thp, tng ng vi cc gi tr mc xm thay i chm. - Cng mt mc ct Do, b lc Butterworth cho nh m hn so vi b lc Gauss, l do l b lc Butterworth dc hn, chn lc tn s tt hn. 4.2.3) Lc thng cao: B lc thng cao c th suy ra t b lc thng thp qua biu thc:

Trang 57

Bo co n TVT1

GVHD : Bi Minh Thnh

B lc thng cao l tng

B lc thng cao Gauss

B lc thng cao Butterworth bc 2

B lc thng cao Butterworth bc 9

B lc thng cao lm sc nt nh v n i bt cc chi tit nh nhiu v cnh bin.

nh gc

Do=10

Do=30

Do=50

Do=10

Do=30

Do=50

Nhng hnh trn s dng b lc Butterworth bc 2, nhng hnh di s dng b lc Gauss Trang 58

Bo co n TVT1

GVHD : Bi Minh Thnh

Cng tng t nh b lc thng thp, ta cng c nhn xt sau: - Do cng ln, nh sau x l cng sc nt hn, cc chi tit nh cnh bin v nhiu cng c th hin r. - Cng mt gi tr Do, b lc Butterworth to nh sc nt hn b lc Gauss. - Gi tr F(0,0) =0 lm nh sau x l gim cng mc xm, vn ny s c khc phc vi b lc High-Frequency Emphasis. Bin i Laplace trong min tn s:

V i

l bin i Fourier ca ton t Laplace.

Do ta c b lc Laplace trong min tn s p ng ca b lc c dng:

Ta cng c b lc trc tip p dng ton t Laplace

Do H mang cc gi tr m nn ta thc hn php tr trong min khng gian. Ta s c kt qu b lc H(u,v):

Kt qu ca php lc Laplace trong min tn s cng tng t trong min khng gian B lc High-frequency emphasis: Cc b lc thng cao va c trnh by c mt c im l gi tr F(0,0)=0, do lm cho nh sau x l c tng cc gi tr mc xm bng 0. Mt gii php l thm vo b lc thng cao mc offset ln hn 0. Nu gi tr offset ny kt hp cng vi vic nhn cc h s b lc thng Trang 59

Bo co n TVT1

GVHD : Bi Minh Thnh

cao vi mt gi tr >1 th ta c b lc High-frequency emphasis. H s nhn ny s lm tng nhanh bin ca cc gi tr tn s cao, trong khi cc gi tr tn s thp thay i rt t. Do mc xm nh sau x l c tng cng, v nh vn sc nt.

Vi a l mc offset, b l h s nhn, thng

Hnh a l nh chp X-quang lng ngc, nh b m vi thnh phn mc xm tp trung gn gi tr 0(ti). Hnh b l kt qu sau khi lc bng b lc thng cao Butterworth bc 2, c Do nh, ta thy cc chi tit cnh bin c lm n i bt nhng mc xm nh b gim xung ng k. nh c s dng b lc High-Frequency Emphasis c a=0,5 v b=2, cc chi tit cnh bin vn n i bt v mc xm cng tng ln. Nhng cc gi tr mc xm vn tp trung ch yu vng ti, ta thc hin cn bng histogram cho nh c tng phn cao hn, kt qu ca cn bng histogram l hnh d. y l ng dng kt hp nng cao cht lng nh trong min tn s(lc) v min khng gian(cn bng histogram).

Trang 60

Bo co n TVT1

GVHD : Bi Minh Thnh

CHNG IV: KHI PHC NH


I) Gii thiu:
Khi phc nh tp trung vo vic loi b hay gim thiu s bin dng xy ra trong qu trnh thu nhn nh. S bin dng nh c th bao gm : Nhiu-l nhng sai khc trong gi tr ca pixel, nh hng quang hc : s m do vic chuyn ng ca cameranTa c dng tng qut ca nh b bin dng: g(x,y) = f(x,y)*h(x,y) + n(x,y) tng ng trong min tn s ta c : G(i,j) = F(i,j).H(i,j) + N(i,j)

II) Nhiu:
1) Nhiu Salt and Pepper: Cn gi l nhiu xung, nhiu nh phn.

Nu b > a, mc xm b s xut hin tng ng l im sng trn nh cn mc xm a s tng ng vi im en xut hin trn nh. cng nhiu Salt and pepper vo mt nh ta dng cu lnh sau : t = imnoise(image,salt & pepper) s lng nhiu c cng vo mc nh l 10%. Ta c th cung cp thm cc thng s thay i lng nhiu c cng vo ny. Trang 61

Bo co n TVT1

GVHD : Bi Minh Thnh

2) Nhiu Gaussian: L mt dng l tng ca nhiu trng, c gy ra bi nhng dao ng ngu nhin ca tn hiu. Nhiu Gaussian l nhiu trng c phn b chun.

p( z )

1 2

( z u )2 / 2

Nu ta c nh I, nhiu Gaussian l N ta s c nh nhiu = I +N. to ra nh vi nhiu Gaussian ta dng cu lnh sau : t = imnoise(image,gaussian) gi tr mc nh ca k vng v phng sai ca nhiu l 0 v 0.01.

Trang 62

Bo co n TVT1

GVHD : Bi Minh Thnh

3) Nhiu Speckle: C th c m hnh bng cch nhn cc gi tr ngu nhin vi gi tr ca cc pixel. Nhiu Speckle l vn quan tm ch yu trong cc ng dng radar Trong Matlab nh vi nhiu Speckle c tnh ton : I*(1 + N) t = imnoise(t,speckle) Nhiu N c phn phi chun vi gi tr trung bnh =0. C th cung cp thm thng s xc nh gi tr k vng ca N, gi tr mc nh ca n l 0.04.

1. Nhiu tun hon (Periodic noise) Nu tn hiu hnh nh l tn hiu tun hon, chng ta c th c nh b nh hng bi nhiu tun hon. Trang 63

Bo co n TVT1

GVHD : Bi Minh Thnh

Hm imnoise khng c ty chn to ra nhiu tun hon. Ta c th to ra mt dng n gin ca nhiu tun hon bng cch cng vo nh mt ma trn tun hon.

II)Khi phc nh vi cc b lc trong min khng gian:


1) B lc trung bnh s hc (Arithmetic Mean filter) :
^

1 mn ( s ,t )

g ( s, t )
S xy

Gi tr ca nh c khi phc ti ta (x,y) n gin l trung bnh s hc ca nhng pixel trong min Sxy . B lc trn c thc hin trong IPT nh sau : w = fspecial(average,[m,n]) f = imfilter(g,w) 2) B lc trung bnh hnh hc ( Geometric Mean filter) :
^

f
( s ,t ) S xy

g ( s, t )

1 mn

Mi gi tr pixel ca nh phc hi : l tch ca nhng pixel trong min S xy , sau ly ly tha 1/m/n. IPT khng h tr hm tnh ton trc tip b lc ny. Trang 64

Bo co n TVT1

GVHD : Bi Minh Thnh

3) B lc tr s trung bnh ( Median filter) :


^

f ( x, y) median g ( s, t )
( s ,t ) S xy

B lc thay th gi tr ca mt pixel bi tr s trung bnh ca nhng gi tr mc xm trong min ln cn ca pixel ny c xc nh bi S xy . Trong IPT b lc c thc hin bi hm medfilt2 : f = medfilt2(g,[m,n]) 4) B lc MIN & MAX: B lc Max: B lc ny hu dng trong vic xc nh im sng nht trong nh. V nhiu pepper c gi tr rt thp nn nhiu ny s b loi tr nh l kt qu ca qu trnh la chn tr max trong min xc nh bi S xy . c thc hin thng qua hm ordfilt2: f = ordfilt2(g,m*n, ones(m,n)) B lc Min: B lc ny hu dng trong vic xc nh im ti nht trong nh. Do n s loi tr nhiu Salt nh l kt qu ca qu trnh la chn mc ti trong min xc nh bi Sxy . f = ordfilt2(g,1,ones(m,n)). 5) B lc trung bnh hi ( Harmonic Mean filter) :

B lc ny lm vic tt vi nhiu Salt, nhng li khng hiu qu vi nhiu Pepper. 6) B lc im gia ( Midpoint filter):

B lc tnh im trung bnh gia gi tr Max v gi tr Min trong vng bao quanh bi S xy . B lc lm vic tt vi nhng nhiu c phn phi ngu nhin nh nhiu Gaussian.

Trang 65

Bo co n TVT1

GVHD : Bi Minh Thnh

III) Gim nhiu tun hon vi cc b lc trong min tn s:


1) B lc chn di: B lc chn di loi b hay lm suy hao mt di bng tn trong bin i Fourier ban u. B lc chn di l tng c biu din :

B lc chn di Butterworth B lc chn di butterworth bc n c biu din nh sau :

B lc chn di Gaussian

B lc chn di loi b nhiu trong nhng ng dng m ta bit trc khong tn s ca nhng thnh phn nhiu. V d nh mt nh b nh hng ca nhiu tun hon xem tng ng nh l hm sine ca hm 2 bin.

Trang 66

Bo co n TVT1

GVHD : Bi Minh Thnh

Ta thy hnh b-ph Fourier ca nh nhiu, cc thnh phn nhiu xp x nm trn mt ng trn. Do mt b lc chn di i xng suyn tm l la chn ti u. Hnh c biu din b lc butterworth bc 4, vi bn knh v dy thch hp c th bao quanh hon ton cc thnh phn nhiu. 2) B lc thng di: B lc thng di c hot ng ngc li vi b lc chn di. Hm truyn ca b lc thng di c th suy ra t b lc chn di :

B lc thng di loi b nhiu chi tit ca nh. Tuy nhin b lc thng di kh hu dng trong vic tch nh hng ca mt di tn s ln nh.

Trang 67

Bo co n TVT1

GVHD : Bi Minh Thnh

nh trn c to ra nh sau : Tnh p ng ca b lc thng di t b lc chn di Bin i ngc ca bin i b lc thng di Ta thy hu ht chi tit ca nh b mt, nhng nhng thng tin cn li rt hu dng. chnh l m hnh nhiu-ging vi nhiu tc ng trong nh hnh a. 3) B lc Notch: B lc Notch loi b hay cho qua nhng tn s ln cn xc nh trc quanh tn s trung tm. B lc Notch chn di l tng

Trong :

B lc Notch chn di Butterworth

B lc Notch chn di Gaussian

Trang 68

Bo co n TVT1

GVHD : Bi Minh Thnh

V d:

n gin l cho hng v ct ca thnh phn ph nhiu bng 0. Gi s ta ca cc thnh phn nhiu ny ln lt l (156,170), (102,88). >> tf(156,:)=0; >> tf(102,:)=0; >> tf(:,170)=0; >> tf(:,88)=0; Kt qu :

Trang 69

Bo co n TVT1

GVHD : Bi Minh Thnh

Nhiu nhiu trung tm b loi b. To nhiu hng v nhiu ct dch chuyn v zero s loi b c nhiu nhiu hn. B lc Notch thng di C hot ng ngc li vi hot ng ca b lc Notch chn di. Ta d dng suy ra hm truyn ca b lc Notch thng di :

IV) B lc ngc:
Ta c : Y(i,j) = X(i,j)*F(i,j) T ta c th khi phc DFT ca nh ban u : X(i,j) = Y(i,j)/F(i,j) Tuy nhin mt s thnh phn ca b lc rt nh, nn php chia s to ra gi tr rt ln -ln t, quyt nh gi tr ng ra. Nn ta s kh thu c kt qu nh gc chp nhn c.

Trang 70

Bo co n TVT1

GVHD : Bi Minh Thnh

C th gii quyt vn trn nh sau: p mt b lc thng thp vo php chia :

S loi b nhng gi tr rt nh ca b lc F(i,j) Chn mt ngng gi tr d, nu |F(i,j)| < d chng ta s khng thc hin php chia m gi gi tr ban u.

V d :

Trang 71

Bo co n TVT1

GVHD : Bi Minh Thnh

Mt ng dng khc ca b lc ngc : lm r nh b m do chuyn ng . V d : >> bc=imread(board.tif); >> bg=im2uint8(rgb2gray(bc)); >> b=bg(100:355,50:305); >> imshow(b) >> m=fspecial(motion,7,0); >> bm=imfilter(b,m); >> imshow(bm) Cho ta kt qu sau :

Trang 72

Bo co n TVT1

GVHD : Bi Minh Thnh

lm r nh ta cn thc hin php chia gia DFT ca nh b lm m cho DFT ca b lc lm m nh. C ngha l trc tin ta cn to ma trn tng ng vi s bin i lm m nh. >> m2=zeros(256,256); >> m2(1,1:7)=m; >> mf=fft2(m2); >> bmi=ifft2(fft2(bm)./mf); >> fftshow(bmi,abs) Kt qu nh sau:

Kt qu khng c tt do c tnh ca b lc ngc. Theo phng php th 2 khc phc c tnh ca b lc ngc ta nh ngha mt gi tr ngng d=0.02 >> mf=fft2(m2);mf(find(abs(mf)<d))=1; >> bmi=ifft2(fft2(bm)./mf); >> imshow(mat2gray(abs(bmi))*2) Ta c kt qu :

Trang 73

Bo co n TVT1

GVHD : Bi Minh Thnh

V) B lc Wiener:
Nh trn, ta thy b lc ngc cho kt qu khng c tt. Kt qu s t hn khi nh ban u b tc ng bi nhiu.

Nn :

Do khng nhng c vn trong php chia m cn vn vi nhiu : nhiu c th l n t, quyt nh gi tr ng ra, lm cho vic s dng b lc ngc trc tip l khng th. Gi M : nh ban u, R : nh khi phc. iu mong mun l R cng gn vi M cng tt. xt s chnh lch gn nht gia R, M ta st hm :

Nu ta c th ti thiu ha gi tr ca tng trn, ta c th chc chn rng ta s thu c kt qu tt nht c th. B lc c c im ca hm tnh bnh phng ti thiu gi l b lc Weiner.

Trang 74

Bo co n TVT1

GVHD : Bi Minh Thnh

Trong K l hng s. K c dng xp x nhiu. Nu phng sai ca nhiu c bit trc th K 2 . >> K=0.01; >> wbf=fftshift(fft2(wba)); >> w1=wbf.*(abs(b).^2./(abs(b).^2+K)./b) >> w1a=abs(ifft2(w1)); >> imshow(mat2gray(w1a))
2

Trang 75

Bo co n TVT1

GVHD : Bi Minh Thnh

CHNG V: TCH BIN NH


I) C s l thuyt tch bin:
Tch bin l phng php thng dng nht tch theo ngha gin on trong cc gi tr cng . S gin on c tch s dng o hm bc nht v bc hai. o hm bc nht la chn trong x l nh l gradient ( dc).
Gx Gy f x f y

Gradient ca hm 2-D f ( x, y) c nh ngha di dng vect:

Bin ca vect ny:

mag ( f )

2 Gx

2 Gy

1/ 2

f/ x

f/ y

2 1/ 2

tnh ton n gin, con s ny c xp x bng cch s dng gi tr tuyt i : f Gx G y chng bng 0 trong cc vng c cng khng i, v gi tr chng t l vi bc ca s thay i cng trong vng c cc gi tr pixel bin thin. N c xem l bin ca gradient hoc xp x n gin ca n di dng gradient. c tnh c bn ca vect gradient l tn ti hng c t l thay i hm f ti ta ( x, y) ln nht. Gc xy ra t l thay i ln nht l:

( x, y )

tan

Gy Gx

o hm bc hai trong x l nh c tnh s dng ton t Laplace :


2 2

f ( x, y )

f ( x, y ) x2

f ( x, y ) Ton t Laplace t khi c dng tc h bin v, vi y2

phn bc hai, d b nh hng bi nhiu, bin ca n sinh ra cc bin kp, v khng th tch hng bin. tng c bn ng sau tch bin l tm cc ni trong nh c cng thay i nhanh, s dng mt trong hai tiu chun tng qut sau: Tm cc ni o hm bc nht ca cng sng c bin hn mt ngng. Trang 76

Bo co n TVT1

GVHD : Bi Minh Thnh

Tm cc ni o hm bc hai ca cng sng c s thay i qua mc 0

II) Tch bin nh trong Matlab:


Cu trc tng qut ca hm ny l [g, t] = edge (f, method, parameters) Trong o method gm : Sobel, Prewitt, Roberts, LoG, Zero Crossing, Canny.

1) B tch bin Sobel: B tch bin Sobel s dng cc mt n trong hnh di xp x o hm bc nht G x v G y . Ni cch khc, gradient t i im tm trong mt ln cn c tnh theo b tch Sobel:

2 Gx

2 Gy

1/ 2

{[( z 7

2 z8

z9 ) ( z1

2z2

z 3 )]2 [( z 3

2z6

z 9 ) ( z1

2z4

z 7 )]2 }1 / 2

Khi , ta ni rng v tr (x,y) l pixel bin nu g ngng c ch nh. Mt l ca b lc Sobel :

T ti v tr , trong T l mt

C php gi b tch Sobel tng qut l [g , t ] = edge(f, sobel, T, dir) g = edge (f), hoc l [g, t] = edge(f).

2) B tch bin Prewitt: Trang 77

Bo co n TVT1

GVHD : Bi Minh Thnh

B tch bin Prewitt s dng mt n:

xp x theo phng php s o hm bc nht G x v G y C php gi tng qut l: [g , t ] = edge(f, prewitt, T, dir) B tch Prewitt hi n gin hn hin thc bng my tnh so vi b tch Sobel, nhng n c khuynh hng sinh ra mt cht nhiu. (N c th c th hin qua h s 2 trong b tch bin Sobel ). 3) B tch bin Roberts: B tch bin Roberts s dng mt n :

xp x theo phng php s o hm bc nht G x v G y . C php gi tng qut l: Trang 78

Bo co n TVT1

GVHD : Bi Minh Thnh

[g , t ] = edge(f, roberts, T, dir) B tch Roberts l mt trong nhng b tch bin xa nht trong x l nh s v n cng n gin nht. B tch bin ny c dng t hn ng k cc b tch khc do chc nng gii hn ca n (n khng i xng v khng th c tng qut ha tch bin l tha s ca 450). Tuy nhin, n vn c dng thng xuyn trong hin thc phn cng khi tnh n gin v tc l cc yu t chi phi. 4) B tch bin Laplace ca hm Gauss (LoG): Xt hm Gauss
r2
2

h( r )
2

2
2

x y v l lch chun. y l hm trn, nu n chp vi mt nh, Trong r s lm m nh. m c xc nh bi gi tr .


Ton t Laplace ca hm ny (o hm bc 2 theo r):
2

h( r )

r2
4

r2

(c gi l hm Laplace ca Gaussian LoG)


2

h(r ) ging nh V o hm bc hai l ton t tuyn tnh, chp (lc) vi mt nh bng u tin chp nh vi hm trn v sau tnh kt qu ca ton t Laplace. Chng ta chp h(r ) bit n c 2 tc ng: n lm mn nh (do gim nhiu) v n tnh ton nh bng t Laplace, lm cong mt nh bin kp. nh v cc bin sau tm cc im giao zero gia cc bin kp. C php gi tng qut l:
[g , t ] = edge(f, log, T, sigma) Trong sigma l lch chun, gi tr mc nh ca sigma l 2. 5) B tch bin im giao zero: B tch bin ny da trn khi nim ging phng php LoG, nhng php chp c thc hin s dng hm lc c ch nh H. C php gi hm : [g , t ] = edge(f, zerocross, T, H) 6) B tch bin Canny:
2

Trang 79

Bo co n TVT1

GVHD : Bi Minh Thnh

L b tch bin mnh nht cung cp bi hm edge. C th tm tt phng php ny nh sau: 1. nh c lm trn s dng mt b lc Gauss vi lch chun 2. Gradient cc b, g ( x, y )
2 Gx 2 Gy 1/ 2

, gim nhiu

v hng bin

( x, y )

tan 1 (

Gy Gx

c tnh ton ti mi im. Mt im bin c nh ngha l im c di l cc i a phng theo hng ca gradient. 3. im bin c xc nh tng ln n cc nh trong gradient bin nh. Sau thut ton tm nh ca cc nh ny v t gi tr 0 vo tt c pixel khng tht s nm trn nh v vy to ra mt ng mng ng ra, mt qu trnh c bit l s nn li khng cc i. Cc pixel nh c t ngng dng hai ngng, T1 v T2 . Cc pixel nh ln hn T2 c gi l cc pixel bin mnh. Cc pixel nh nm gia T1 v T2 c gi l cc pixel bin yu. 4. Cui cng, thut ton thc hin bin kt ni bng cch kt hp cc pixel yu m c dng kt ni-8 vi cc pixel mnh. C php b tch bin Canny l: [g , t ] = edge(f, canny, T, sigma) Trong T l mt vect, T T1 T2 l 2 ngng c gii thch trong bc 3 ca th tc trc v sigma l lch chun ca b lc lm trn. Gi tr mc nh ca sigma l 1.

Trang 80

Bo co n TVT1

GVHD : Bi Minh Thnh

CHNG VI: CHNG TRNH LC NH KT HP GUI


I) Gii thiu v giao din ca chng trnh v chc nng ca cc thnh phn:
1) Giao din tng qut ca chng trnh:

2) Nt Add image:

Trang 81

Bo co n TVT1

GVHD : Bi Minh Thnh

3) Nt Reset:

Trang 82

Bo co n TVT1

GVHD : Bi Minh Thnh

4) Add Noise:

5) La chn kiu b lc:

Trang 83

Bo co n TVT1

GVHD : Bi Minh Thnh

6) Kch thc b lc:

Trang 84

Bo co n TVT1

GVHD : Bi Minh Thnh

7) Tn s trung tm ca b lc Bandreject:

Trang 85

Bo co n TVT1

GVHD : Bi Minh Thnh

8) Bc ca b lc Butterworth bandreject:

Trang 86

Bo co n TVT1

GVHD : Bi Minh Thnh

9) rng di bng ca b lc Bandreject:

Trang 87

Bo co n TVT1

GVHD : Bi Minh Thnh

10) Nt Apply:

Trang 88

Bo co n TVT1

GVHD : Bi Minh Thnh

11) Nt Close:

Trang 89

Bo co n TVT1

GVHD : Bi Minh Thnh

12) Nt Save:

Trang 90

Bo co n TVT1

GVHD : Bi Minh Thnh

13) Nt Save as:

Trang 91

Bo co n TVT1

GVHD : Bi Minh Thnh

14) Nt Noise image:

Trang 92

Bo co n TVT1

GVHD : Bi Minh Thnh

15) Nt Im spectrum:

Trang 93

Bo co n TVT1

GVHD : Bi Minh Thnh

16) Nt Filtered Im:

Trang 94

Bo co n TVT1

GVHD : Bi Minh Thnh

II) Gii thut ca cc hm M -file trong chng trnh:


1) Hm padaddedsize: Mc ch: nh sau bin i Fourier c tnh tun hon, do trnh nhiu gia cc chu k k cn nhau, ta cn m rng nh vi cc gi tr 0 loi b nhiu ny. Gi s vi f(x,y) v h(x,y) c kch thc AB v CD, ta s thm cc gi tr 0 vo f(x,y) v h(x,y) c kch thc nh nhau l: P A+C-1 Q B+D-1 Thng thng ta xt nh v hm lc c cng kch thc, do P 2M 1, Q 2N 1, vi M v N l kch thc ca nh v hm lc. Xt hm sau vi AB,CD,PQ l cc vector ln lt gm cc thnh phn [A B], [C D], [P Q] function PQ=paddedsize(AB,CD) if nargin==1 PQ=2*AB; % Neu chi anh va bo loc co cung kich thuoc elseif nargin==2 PQ=AB+CD-1; % Neu anh va bo loc khac kich thuoc PQ=2*ceil(PQ/2); % PQ co cac thanh phan la cac so chan else Trang 95

Bo co n TVT1

GVHD : Bi Minh Thnh

error('Wrong number of inputs'); end 2) Hm changeclass: To nh sau lc c cng kiu vi nh u vo. switch class case 'uint8' image = im2uint8(image); case 'uint16' image = im2uint16(image); case 'double' image = im2double(image); otherwise error('Unsupported IPT data class.'); end 3) Hm gmean: Thc hin gii thut ca b lc Geometric Mean Filter. function f=gmean(image,m,n) inclass=class(image); image=im2double(image); warning off; f=exp(imfilter(log(image),ones(m,n),'replica')).^(1/m/n); warning on; f=changeclass(inclass,f); 4) Hm harmean: Thc hin gii thut ca b lc Harmonic Filter. function f=harmean(image,m,n) inclass=class(image); image=im2double(image); f=m*n./imfilter(1./(image+eps),ones(m,n),'replicate'); f=changeclass(inclass,f); 5) Hm phoanh:

Trang 96

Bo co n TVT1

GVHD : Bi Minh Thnh

6) Hm bandreject:

III) Cc bc tnh ton trong nt Apply:


global image1 H filimage PQ value noiseimage Trang 97

Bo co n TVT1

GVHD : Bi Minh Thnh

PQ=paddedsize(size(image1)); D0=str2num(get(handles.cutoff,'String')); if D0<=0 msgbox('Please input meaningful cut off frequency') return end n=str2num(get(handles.order,'String')); if n<=0 msgbox('Invalid order number for Butterworth Filter!') return end W=str2num(get(handles.bandwidth,'String')); if W<=0 msgbox('Please input meaningful width of band-reject') end filsize=get(handles.size,'Value'); switch filsize case 1 m=3; n=3; case 2 m=5; n=5; case 3 m=7; n=7; end value=get(handles.filtertype,'Value'); switch value case 1 %Arithmetic Mean Filter H=fspecial('average',[m n]); filimage=imfilter(noiseimage,H); case 2 %Geometric Mean Filter filimage=gmean(noiseimage,m,n); case 3 %Median Filter filimage=medfilt2(noiseimage,[m n],'symmetric'); case 4 %Harmonic Filter filimage=harmean(noiseimage,m,n); case 5 %Max Filter filimage=ordfilt2(noiseimage,m*n,ones(m,n),'symmetric'); case 6 %Min Filter filimage=ordfilt2(noiseimage,1,ones(m,n),'symmetric'); case 7 %Adaptive Filter (Weiner) filimage=wiener2(noiseimage,[m n]); Trang 98

Bo co n TVT1

GVHD : Bi Minh Thnh

case 8 %Ideal Bandreject Filter type='ideal'; H=bandreject(PQ,D0,W,type,n); F=fftshift(fft2(image1,PQ(1),PQ(2))); J=F.*H; filimage=real(ifft2(J)); filimage=filimage(1:size(image1,1),1:size(image1,2)); case 9 %Gaussian Bandreject Filter type='butter'; H=bandreject(PQ,D0,W,type,n); F=fftshift(fft2(image1,PQ(1),PQ(2))); J=F.*H; filimage=real(ifft2(J)); filimage=filimage(1:size(image1,1),1:size(image1,2)); case 10 %Butterworth Bandreject Filter type='Gaussian'; H=bandreject(PQ,D0,W,type,n); F=fftshift(fft2(image1,PQ(1),PQ(2))); J=F.*H; filimage=real(ifft2(J)); filimage=filimage(1:size(image1,1),1:size(image1,2)); end

Trang 99

You might also like