xulyanh
DESCRIPTION
image processingTRANSCRIPT
-
Ti liu hng dn hc matlab dnh cho mn x l
nh rt hay
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 1
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 m chng trnh.
2.2) Nhp lnh trong Matlab:
- 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.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 2
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 : pi 3.14159265
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, tt 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 2
10 2 4
2 4 5
-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
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 3
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 3
2 4
>> a
ans =
1 2
3 4
-Php ton s hc vi ma trn:
Cng, tr ma trn: >> a=[2 3];
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 4
>> 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
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 5
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 ging tn hm.
V d:V hm sau trong khong [-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
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 6
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 .
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 7
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 ni dung ca giao din
- File c phn m rng .m cha nhng on m lin quan n giao din
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 8
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 9
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()
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 10
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.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 11
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)
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 12
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.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 13
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 :
1 2(w1,w2)= ( , ) jmw jnw
m n
F f m n e e
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
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 14
1 1(2 / ) (2 / )
0 0
( ,n) = ( , )M N
j M pm j N qn
p q
f m F p q e e (0
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 15
Bin i Radon ca f(x,y) tng ng vi gc quay l tch phn ng ca f dc theo trc y :
Trong Matlab, bin i Radon c tnh bng hm Radon c c php nh sau : [R,Xp] = radon(I,theta)
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 16
Php bin i Radon vi nhiu gc thng c hin th di dng nh.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 17
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)
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 18
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 :
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 19
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.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 20
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:
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.
g(x,y)=T[f(x,y)]
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 21
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:
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 rm 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 rm 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:
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.
s=L-1-r
s=T(r)
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 22
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:
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.
c) Bin i theo quy tc ly tha: Biu thc:
s=c*log(1+r)
nh trc v
sau x l dung
php bin i
log, c=0.8
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 23
- Vi
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 24
- Vi >1, ta c php bin i ngc so vi
nh gc
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 25
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);
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 26
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.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 27
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
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 28
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:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 29
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 pz(z) bit th ta c th tm thy H-1. 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].
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 30
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 phi 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 phi 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 mi loi nhiu c
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 31
th. Trong chng ny ta s xt n lc 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 mi pixel ca nh mi l t hp tuyn tnh ca cc mc xm ca cc pixels ln cn,tc l mi pixel ln cn s c nhn vi 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):
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 32
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. Vi
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:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 33
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:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 34
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.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 35
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 ti 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:
b a
c
d e f
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 36
>>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 mi 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 hi 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 mi 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 thc 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 mi ct ca A, to ra mt vector hng v, trong mi phn t l kt qu ca php ton trn mi 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);
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 37
Trong f l nh ban u, fp l nh sau khi thm padding, [r c] l s hng v ct m ta mun 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 mi chiu, hoc c hai.
Xt v d sau:
>>f= [ 1 2; 3 4];
>>fp=padarray(f, [3 2], replicate, post)
fp =
1 2 2 2
3 4 4 4
3 4 4 4
3 4 4 4
3 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 im nh x l. Cng thc tnh trung bnh nhn tng qut l:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 38
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, to ra mt vector hng cha kt qu php ton trung bnh nhn thc hin vi mi 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 hi 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 khi 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:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 39
Mt loi ca s lc chun ha khc c cc h s khc nhau:
B lc trn tin hnh ly trung bnh c trng s i vi cc im nh ln cn, tc l mi im 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
1 1 1
1 1 1
1 1 1
w= 1/9
1 2 1
2 4 2
1 2 1
w= 1/16
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 40
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 khi nh, do c th d dng ly c cc
thnh phn c kch thc ln.
Xt mt v d khc:
a b c
d e f
a
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 41
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);
a b
c
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 42
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:
c
a b
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 43
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 ni 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 im nh xung quanh, c lm ni 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:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 44
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 gm 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, vi 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 ti 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.
a b
c
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 45
hoc
0 1 0
1 -4 1
0 1 0
0 -1 0
-1 4 -1
0 -1 0
o hm bc 2 c s dng nhiu hn trong x l nh do n lm ni 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:
Mt nh ngha khc v o hm bc 2 c s dng thm cc phn t ng cho:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 46
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 hi 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:
1 1 1
1 -8 1
1 1 1
-1 -1 -1
-1 8 -1
-1 -1 -1
hoc
a b
d c
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 47
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 hi 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:
c
0 -1 0
-1 5 -1
0 -1 0
-1 -1 -1
-1 9 -1
-1 -1 -1
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 48
B lc tng cng(high-boost filter):
B lc tng cng cng l mt ng dng ca ton t Laplace:
Vi 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 ging 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:
0 -1 0
-1 A+4 -1
0 -1 0
-1 -1 -1
-1 A+8 -1
-1 -1 -1
nh
gc
A=1
A=1.7
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 49
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 hi 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 v .
Vi f(x,y) l thc, ta c:
F(u,v) tun hon nn ta c:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 50
Bin i ngc cng cho ta f(x,y) tun hon:
Do tnh cht i xng qua im (0,0) v tun hon ca , ta c th dch im(0,0) v
v tr trung tm tc l v tr (M/2, N/2) ca ph. Ta c
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);
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 51
a b c
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 ly 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 ni 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:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 52
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:
V
Vi P phi tha iu kin: cc thnh phn khc 0 ca 2 chu k k nhau khng
tc ng ln nhau:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 53
Ta c kt qu ca php chp sau khi thm cc gi tr 0 khng cn b bin dng.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 54
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
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.
a b c
Khng dng padding S dng padding
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 55
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 min 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:
Vi l mt gi tr khc 0, gi l ngng ct v D(u,v) l khong 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:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 56
gi l lch chun, nu thay bng Do, ta c gi tr ngng ct l Do.
Trn l hnh cc b lc c cng kch thc 500 500, ngng ct l Do=50. Ta c mt nhn xt
l dc ca b lc Gauss thp nht, ti v tr ngng ct Do 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.
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
nh gc D0=10
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 57
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:
D0=10
D0=30
D0=50 D0=150 D0=30
D0=50 D0=150 D0=10 nh gc
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 58
nh
gc Do=10
Do=30
Do=50
Do=10
Do=30
Do=50
B lc thng cao lm sc nt nh v ni bt cc chi tit nh nhiu v cnh bin.
Nhng hnh trn s dng b lc Butterworth bc 2, nhng hnh di s dng b lc Gauss
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
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 59
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:
Vi 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
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 60
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 v .
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 ni 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 ni 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).
c
a b
d e
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 61
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.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 62
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.
2 2( ) / 21( )2
z up z e
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.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 63
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.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 64
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( , )
xys t S
f g s tmn
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):
1
^
( , )
( , )xy
mn
s t S
f g s t
Mi gi tr pixel ca nh phc hi : l tch ca nhng pixel trong min Sxy , sau ly ly tha 1/m/n. IPT khng h tr hm tnh ton trc tip b lc ny.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 65
3) B lc tr s trung bnh ( Median filter):
^
( , )( , ) ( , )
xys t Sf x y median g s t
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 Sxy . 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 Sxy . 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 Sxy . B lc lm vic tt vi nhng nhiu c phn phi ngu nhin nh nhiu Gaussian.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 66
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.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 67
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.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 68
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
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 69
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 :
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 70
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.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 71
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 :
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 72
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 :
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 73
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)> bmi=ifft2(fft2(bm)./mf);
>> imshow(mat2gray(abs(bmi))*2)
Ta c kt qu :
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 74
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 ln 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.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 75
Trong K l hng s. K c dng xp x nhiu. Nu phng sai ca nhiu c bit
trc th 22K .
>> K=0.01;
>> wbf=fftshift(fft2(wba));
>> w1=wbf.*(abs(b).^2./(abs(b).^2+K)./b)
>> w1a=abs(ifft2(w1));
>> imshow(mat2gray(w1a))
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 76
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).
Gradient ca hm 2-D ),( yxf c nh ngha di dng vect:
y
fx
f
G
Gf
y
x
Bin ca vect ny:
2/1222/122 //)( yfxfGGfmagf yx
tnh ton n gin, con s ny c xp x bng cch s dng gi tr tuyt i :
yx GGf 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 ),( yx
ln nht. Gc xy ra t l thay i ln nht l:
x
y
G
Gyx 1tan),(
o hm bc hai trong x l nh c tnh s dng ton t Laplace :
2
2
2
22 ),(),(),(
y
yxf
x
yxfyxf Ton t Laplace t khi c dng tch bin v, vi
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.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 77
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 xG v
yG . Ni cch khc, gradient ti im tm trong mt ln cn c tnh theo b tch Sobel:
2/12
741963
2
321987
2/122 })]2()2[()]2()2{[( zzzzzzzzzzzzGGg yx
Khi , ta ni rng v tr (x,y) l pixel bin nu Tg ti v tr , trong T l mt
ngng c ch nh.
Mt l ca b lc Sobel :
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:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 78
B tch bin Prewitt s dng mt n:
xp x theo phng php s o hm bc nht xG v yG
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 xG v yG .
C php gi tng qut l:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 79
[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 45
0). 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
2
2
2)(
r
erh
Trong 222 yxr v l lch chun. y l hm trn, nu n chp vi mt nh,
s lm m nh. m c xc nh bi gi tr .
Ton t Laplace ca hm ny (o hm bc 2 theo r):
2
2
24
222 )(
r
er
rh (c gi l hm Laplace ca Gaussian LoG)
V o hm bc hai l ton t tuyn tnh, chp (lc) vi mt nh bng )(2 rh ging nh
u tin chp nh vi hm trn v sau tnh kt qu ca ton t Laplace. Chng ta chp
nh bng )(2 rh bit n c 2 tc ng: n lm mn nh (do gim nhiu) v n tnh ton
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:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 80
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 , gim nhiu
2. Gradient cc b, 2/122),( yx GGyxg v hng bin )(tan),(
1
x
y
G
Gyx
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, 1T v 2T . Cc
pixel nh ln hn 2T c gi l cc pixel bin mnh. Cc pixel nh nm gia 1T
v 2T 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, 21 TTT 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.
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 81
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:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 82
3) Nt Reset:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 83
4) Add Noise:
5) La chn kiu b lc:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 84
6) Kch thc b lc:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 85
7) Tn s trung tm ca b lc Bandreject:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 86
8) Bc ca b lc Butterworth bandreject:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 87
9) rng di bng ca b lc Bandreject:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 88
10) Nt Apply:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 89
11) Nt Close:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 90
12) Nt Save:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 91
13) Nt Save as:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 92
14) Nt Noise image:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 93
15) Nt Im spectrum:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 94
16) Nt Filtered Im:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 95
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
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 96
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:
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 97
6) Hm bandreject:
III) Cc bc tnh ton trong nt Apply:
global image1 H filimage PQ value noiseimage
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 98
PQ=paddedsize(size(image1));
D0=str2num(get(handles.cutoff,'String'));
if D0
-
Bo co n TVT1 GVHD : Bi Minh Thnh
Trang 99
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