Professional Documents
Culture Documents
BO CO X L NH
TI: PHN VNG VI TCH NGNG T NG
Mc lc
BACKGROUD ............................................................................................................................ 4
C s thc nghim .................................................................................................................... 8
I.
II.
II.
III.
IV.
V.
M U
BACKGROUD
X l nh l mt trong nhng chuyn ngnh quan trng v lu i ca cng
ngh thng tin. X l nh c p dng nhiu trong nhiu lnh vc khc
nhau nh y hc, vt l, ha hc, tm kim ti phm,
Mc ch chungca XLA c chi lm 2 phn:
- Bin i nh lm tng cht lng nh.
- T ng nhn dng, on nh, nh gi ni dung ca nh.
Qu trnh x l nh c th c m t bng s sau:
Phn on
Biu din v m
t nh
Tin x l nh
C s tri
thc
Nhn dng v
gii thch
Thu nhn nh
C s thc nghim
I.
II.
-1} c
10
11
12
II.
13
Hnh nh minh ha: phn vng nh theo ngng s dng thut ton
ng iu tm ngng.
14
15
16
17
18
19
20
21
22
23
Nhn xt:
- Thut ton p dng tt cho cc nh c histogram chia lm 2 phn
r rt (mt phn cao, mt phn thp), i vi nhng nh c
histogram lun bin thin nhiu ln th khng p dng c.
- Kh chn gi tr p.
24
25
26
27
Chn b=1
Chn b=0.
28
Nhn xt:
- Ch p dng c vi mt s nh nht nh. i vi nhng nh c
histogram bin thin nhiu th vic phn vng, xc nh i tng
kh khn.
V.
g(x,y) c gi trbng 1 l cc
th
vnn
tchbng
cch
so
30
31
32
Chn T=127, T0 = 1.
33
tm c ngng
ton cc ta s dng mt hm
5-
34
KT LUN CHUNG
- Trong cc phng php nu trn c l phng php n gin v
mang li hiu qu nht l phng php phn vng tm ngng
theo thut ton ng iu. Phn vng vi hu ht cc nh, v cho
ta kt qu tt hn c.
- Cc phng php cn li i a s ch ph hp vi mt s li nh
nht nh. V d nh: phng php tm ngng ton cc thch hp
nht i vi nhng nh c histogram tch lm 2 phn ring bit,
ngha l th ca n khng bin thin qu nhiu ln.
PH LC
A. Code matlab
35
b=a;
if rem(w,2)==0
36
2. Thut ton ng iu
function [ t ] = ridandcal( a )
%RIDANDCAL This function find a threadhold from rid and cal
method
% a is the input histogram
% t is the threadhold this method return
t=127;
s=size(a);
t=round((s(2))/2)-1;
tcu=-1;
while t~=tcu
sumg1=0;
sumg2=0;
sumhg1=0;
sumhg2=0;
tcu=t;
for i=0:t
sumg1=sumg1+i*a(i+1);
sumhg1=sumhg1+a(i+1);
end
t1=sumg1/sumhg1;
for i=t+1:s(2)-1
sumg2=sumg2+i*a(i+1);
sumhg2=sumhg2+a(i+1);
end
t2=sumg2/sumhg2;
t=round(round((t1+t2))/2);
37
end
end
38
t=maxp-(k-maxp)-1;
else
if b==0
min1=x(1);
a2=a(maxp:-1:min1);
sum2=sum(a2);
kc=ones(1,maxp);
kc=kc*100;
for i=maxp:-1:min1
a1=a(i:maxp);
kc(i)=abs((sum(a1)/sum2)*100-p);
end
k=find(kc==min(kc));
t=maxp+maxp-k-1;
end
end
end
39
s=size(a);
if b==1
min1=0;
else
min1=s(2)-1;
end
max1=find(a==max(a))-1;
vtpt=[ -max(a) max1-min1 ];
d=zeros(1,s(2));
if b==1
for i=0:max1
d(i+1)=abs(vtpt(1)*(imin1)+vtpt(2)*a(i+1))/sqrt(vtpt(1)^2+vtpt(2)^2);
end
else
for i=max1:s(2)
d(i)=abs(vtpt(1)*(imin1)+vtpt(2)*a(i))/sqrt(vtpt(1)^2+vtpt(2)^2);
end
end
t=find(d==max(d))-1;
end
40
s=size(img);
numelem=s(1)*s(2);
imgfl=double(img);
Tlast=-T0;
while abs(T-Tlast)>T0
tmp=imgfl>T;
zeros1=sum(tmp(:));
zeros2=numelem-zeros1;
G1=tmp.*imgfl;
41
G2=(~tmp).*imgfl;
mu1=sum(G1(:))/zeros1;
mu2=sum(G2(:))/zeros2;
Tlast=T;
T=1/2*(mu1+mu2)
end
thresh=T;
end
BNG KT QU TH NGHIM
42
43
2. Thut ton ng iu
44
45
46
47
48
49
50