?? sb1.m
字號:
%形成輸入矢量P和目標矢量t的matlab程序
clear all;
filename = dir('*.bmp'); %圖像文件格式
for k=1:100
p1=ones(16,16); %縮放后用于存儲的像素空間
x=imread(filename(k).name); %讀取圖像文件
bw=im2bw(x,0.5); %二值化
[i,j]= find(bw==0); %尋找數字所在的像素索引
imin=min(i); %求取數字像素占據空間的最小行索引
imax=max(i); %求取數字像素占據空間的最大行的索引
jmin=min(j); %求取數字像素占據空間的最小列的索引
jmax=max(j); %求取數字像素占據空間的最大列的索引
bwl=bw(imin:imax,jmin:jmax); %把圖像由39×39縮放為實際數字像素所需的空間
rate=16/max(size(bwl)); %求取放大比率
bwl=imresize(bwl,rate); %按比率放大圖像
[i,j]=size(bwl); %求取行列數
i1=round((16-i)/2); %取整
j1=round((16-j)/2);
p1(i1+1:i1+i,j1+1:j1+j)=bwl; %圖像從右向暫存
p1=-1.*p1+ones(16,16); %將圖像反色
for m=0:15 %樣本特征存于輸入矢量
p(m*16+1:(m+1)*16,k+1)=p1(1:16,m+1);
end
switch k %對應各個輸入樣本求取對應的目標矢量
case{ 1,2,3,4,5,6,7,8,9,10}
t(k+1)=0;
case{ 11,12,13,14,15,16,17,18,19,20}
t(k+1)=1;
case{ 21,22,23,24,25,26,27,28,29,30}
t(k+1)=2;
case{ 31,32,33,34,35,36,37,38,39,40}
t(k+1)=3;
case{ 41,42,43,44,45,46,47,48,49,50}
t(k+1)=4;
case{ 51,52,53,54,55,56,57,58,59,60}
t(k+1)=5;
case{ 61,62,63,64,65,66,67,68,69,70}
t(k+1)=6;
case{ 71,72,73,74,75,76,77,78,79,80}
t(k+1)=7;
case{ 81,82,83,84,85,86,87,88,89,90}
t(k+1)=8;
case{ 91,92,93,94,95,96,97,98,99,100}
t(k+1)=9;
end
end
save swjPT p t; %保存輸入矢量和目標矢量
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -