Professional Documents
Culture Documents
Bo co n TVT1
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
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
ans = 5 6 7 8 9 10
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
>> a ans = 1 3 2 4
Bo co n TVT1
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
Bo co n TVT1
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
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)
Trang 6
Bo co n TVT1
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
Trang 8
Bo co n TVT1
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
Trang 10
Bo co n TVT1
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
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
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
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
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
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
Trang 16
Bo co n TVT1
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
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
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
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
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
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.
Trang 22
Bo co n TVT1
- 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
nh gc
Trang 24
Bo co n TVT1
Ta nhn thy
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
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:
Bo co n TVT1
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.
Trang 27
Bo co n TVT1
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
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
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
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
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
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
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
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
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
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:
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
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
w= 1/9
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
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
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
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
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
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
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:
V:
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
Bo co n TVT1
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.
Trang 46
Bo co n TVT1
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
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
Trang 47
Bo co n TVT1
-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
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
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
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
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
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:
Trang 52
Bo co n TVT1
Bo co n TVT1
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:
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.
S dng padding
Trang 54
Bo co n TVT1
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:
Bo co n TVT1
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
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
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
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
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
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.
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
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
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
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
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.
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
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
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
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
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 :
Trang 68
Bo co n TVT1
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
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
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
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
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
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
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
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
f ( x, y )
f ( x, y ) x2
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
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
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).
Bo co n TVT1
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 :
Bo co n TVT1
[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
h( r )
r2
4
r2
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
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
2) Nt Add image:
Trang 81
Bo co n TVT1
3) Nt Reset:
Trang 82
Bo co n TVT1
4) Add Noise:
Trang 83
Bo co n TVT1
Trang 84
Bo co n TVT1
7) Tn s trung tm ca b lc Bandreject:
Trang 85
Bo co n TVT1
8) Bc ca b lc Butterworth bandreject:
Trang 86
Bo co n TVT1
Trang 87
Bo co n TVT1
10) Nt Apply:
Trang 88
Bo co n TVT1
11) Nt Close:
Trang 89
Bo co n TVT1
12) Nt Save:
Trang 90
Bo co n TVT1
Trang 91
Bo co n TVT1
Trang 92
Bo co n TVT1
15) Nt Im spectrum:
Trang 93
Bo co n TVT1
Trang 94
Bo co n TVT1
Bo co n TVT1
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
6) Hm bandreject:
Bo co n TVT1
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
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