?? 2shuzishibie.asv
字號(hào):
bw=imread('D:\MATLAB7\work\5f00.bmp');
[x,y]=size(bw); %數(shù)組num,sum保存著掃描線穿越黑像素區(qū)域互不相鄰的交點(diǎn)數(shù)
n=zeros(1,8); %從上到下共8個(gè)部分,每個(gè)部分的最大交點(diǎn)數(shù)
m=zeros(1,8); %從左到右共8個(gè)部分,每個(gè)部分的最大交點(diǎn)數(shù)
if(x/8-floor(x/8))>=0.5,h=floor(x/8)+1;else h=floor(x/8);
end
if(y/8-floor(y/8))>=0.5,w=floor(y/8)+1;else w=floor(y/8);
end
for i=1:x
count=0; %連續(xù)黑像素點(diǎn)的個(gè)數(shù)
for j=1:y
pixels=impixel(bw,j,i);
if(pixels==[0 0 0])
count=count+1;
elseif(count>1)
num(i)=num(i)+1;
count=0;
end
end
end
for i=1:7
n(i)=num(1+(i-1)*h);
for j=2:h
if(n(i)<num(j+(i-1)*h)),n(i)=num(j+(i-1)*h);
end
end
end
k=1+7*h;
n(8)=num(k);
for j=(k+1):x
if n(8)<num(j),n(8)=num(j);
end
end
for i=1:y
count=0; %連續(xù)黑像素點(diǎn)的個(gè)數(shù)
for j=1:x
pixels=impixel(bw,i,j);
if(pixels==[0 0 0])
count=count+1;
elseif(count>1)
sum(i)=sum(i)+1;
count=0;
end
end
end
for i=1:7
m(i)=sum(1+(i-1)*w);
for j=2:w
if(m(i)<sum(j+(i-1)*w)),m(i)=sum(j+(i-1)*w);
end
end
end
k=1+7*w;
m(8)=sum(k);
for j=(k+1):y
if m(8)<sum(j),m(8)=sum(j);
end
end
if((n(1)==1)&(n(2)==2|n(2)==1)&n(3)==2&n(4)==2&n(5)==2&n(6)==2&(n(7)==2|n(7)==1)&(n(8)==1|n(8)==0)&(m(1)==1)&m(2)==1&m(3)==1&m(4)==2&(m(5)==2)&(m(6)==1|m(6)==2)&(m(7)==1)&(m(8)==1))
msgbox('此數(shù)字為0');
end
if((x/y)>2.4)
msgbox('此數(shù)字為1');
return;
end
if(n(1)==1&n(2)==1&n(3)==2&(n(4)==1|n(4)==2)&n(5)==1&(n(6)==1)&(n(7)==1)&(n(8)==1)&(m(1)==2|m(1)==1)&(m(2)==2)&(m(3)==3|m(3)==2)&(m(4)==3|m(4)==2)&(m(5)==3|m(5)==2)&(m(6)==2|m(6)==3)&(m(7)==2|m(7)==1)&(m(8)==1|m(8)==0|m(8)==2))
msgbox('此數(shù)字為2');
end
if((n(1)==1)&(n(2)==2|n(2)==1)&(n(3)==2)&n(4)==1&(n(5)==1|n(5)==2)&(n(6)==1|n(6)==2)&(n(7)==2|n(7)==1)&(n(8)==1|n(8)==0)&(m(1)==1|m(1)==2)&(m(2)==2)&(m(3)==2)&(m(4)==3)&(m(5)==3)&(m(6)==2|m(6)==1)&(m(7)==2|m(7)==1)&(m(8)==2))
msgbox('此數(shù)字為3');
end
if(n(1)==1&n(2)==1&(n(3)==1)&(n(4)==1)&(n(5)==2|n(5)==1)&(n(6)==2|n(6)==1)&(n(7)==1)&(n(8)==1)&(m(1)==1)&(m(2)==1)&(m(3)==1)&(m(4)==2|m(4)==1)&(m(5)==2|m(5)==1)&(m(6)==1)&(m(7)==1|m(7)==2)&(m(8)==1|m(8)==0))
msgbox('此數(shù)字為4');
end
if(n(1)==1&n(2)==1&n(3)==1&(n(4)==1)&(n(5)==2|n(5)==1)&(n(6)==1|n(6)==2)&(n(7)==2)&n(8)==1
&...
(m(1)==1|m(1)==2)&(m(2)==2)&m(3)==2&(m(4)==3|m(4)==2)&(m(5)==3)&(m(6)==2|m(6)==3)&(m(7)==2)
&(m(8)==2|m(8)==1|m(8)==0))
msgbox('此數(shù)字為5');
end
if(n(1)==1&(n(2)==2|n(2)==1)&(n(3)==2)&(n(4)==1|n(4)==2)&(n(5)==2|n(5)==1)&(n(6)==2)&(n(7)==2)
&n(8)==1&...
(m(1)==1)&(m(2)==1)&m(3)==1&(m(4)==3|m(4)==2)&(m(5)==3)&(m(6)==3|m(6)==2)&(m(7)==2)&
(m(8)==2))
msgbox('此數(shù)字為6');
end
if(n(1)==1&n(2)==1&n(3)==1&n(4)==1&n(5)==1&(n(6)==1)&(n(7)==1)&(n(8)==1)&...
(m(1)==1)&(m(2)==1|m(2)==2)&(m(3)==2|m(3)==1)&(m(4)==2)&(m(5)==2|m(5)==1)&(m(6)==1)&(m(7)==1)
&(m(8)==1))
msgbox('此數(shù)字為7');
end
if((n(1)==1)&(n(2)==2|n(2)==1)&n(3)==2&(n(4)==2|n(4)==1)&(n(5)==2|n(5)==1)&(n(6)==2|n(6)==1)
&(n(7)==2|n(7)==1)&(n(8)==1|n(8)==0)&...
(m(1)==2|m(1)==1)&(m(2)==2|m(2)==1)&(m(3)==1)&(m(4)==3|m(4)==2|m(4)==1)&(m(5)==3)&
(m(6)==2|m(6)==1|m(6)==3)&(m(7)==1|m(7)==2)&(m(8)==1|m(8)==2))
msgbox('此數(shù)字為8');
end
if((n(1)==1)&(n(2)==2|n(2)==1)&n(3)==2&(n(4)==2|n(4)==1)&(n(5)==1)&(n(6)==1|n(6)==2)&
(n(7)==2|n(7)==1)&(n(8)==1|n(8)==0)&...
(m(1)==1|m(1)==2)&(m(2)==2)&m(3)==2&(m(4)==3)&(m(5)==3)&(m(6)==2|m(6)==1)&(m(7)==1)&
(m(8)==1))
msgbox('此數(shù)字為9');
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -