• 大小: 326KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-11
  • 语言: Matlab
  • 标签: matlab  数字识别  

资源简介

基于MATLAB的用神经网的方法实现数字识别(代码+PPT)

资源截图

代码片段和文件信息

% 数字识别
% 生成输入向量和目标向量
clear all;
‘LOADING......正在生成输入向量和目标向量,请稍等...‘

for kk = 0:49
    p1=ones(1616);%初始化为16*16的二值图像像素值(全白)
    m=strcat(‘bpnums\‘int2str(kk)‘.bmp‘);%形成训练样本图像的文件名
    x=imread(m‘bmp‘);%读入训练样本图像文件
    bw=im2bw(x0.5);%将读入的训练样本图像转化为二值图像
    [ij]=find(bw==0);%寻找二值图像中像素值为0(黑)的行号和列号
    imin=min(i);%寻找二值图像中像素值为0的最小行号
    imax=max(i);%。。。。。。。。。。。。最大行号
    jmin=min(j);%。。。。。。。。。。。。最小列号
    jmax=max(j);%。。。。。。。。。。。。最大列号
    bw1=bw(imin:imaxjmin:jmax);%街取图像像素值为0的最大矩形区域
    rate=16/max(size(bw1));%计算截取图像转换成16*16的二值图像的缩放比例
    bw1=imresize(bw1rate);%将截取图像转换成16*16的二值图像
    [ij]=size(bw1);%转换图像的大小
    i1=round((16-i)/2);%计算转换图像与标准16*16的图像的左边界差
    j1=round((16-j)/2);%计算转换图像与标准16*16图像的上边界差
    p1(i1+1:i1+ij1+1:j1+j)=bw1;%将截取图像转换成标准的16*16图像
    %p1=-1.*p1+ones(1616);%反色处理
    %以图像数据形成神经网络输入向量
    for m=0:15
        p(m*16+1:(m+1)*16kk+1)=p1(1:16m+1);
    end
    %形成神经网络目标向量
    switch kk
        case{010203040}
            t(kk+1)=0;
        case{111213141}
            t(kk+1)=1;
        case{212223242}
            t(kk+1)=2;
        case{313233343}
            t(kk+1)=3;
        case{414243444}
            t(kk+1)=4;
        case{515253545}
            t(kk+1)=5;
        case{616263646}
            t(kk+1)=6;
        case{717273747}
            t(kk+1)=7;
        case{818283848}
            t(kk+1)=8;
        case{919293949}
            t(kk+1)=9;
    end
end

‘LOAD OK.‘

save PT p t;
% 创建和训练BP网络

clear all;
load PT p t;

pr(1:2561)=0;
pr(1:2562)=1;
net=newff(pr[25 1]{‘logsig‘ ‘purelin‘} ‘traingdx‘ ‘learngdm‘);
net.trainParam.epochs=3000;
net.trainParam.goal=0.001;
net.trainParam.show=10;
net.trainParam.lr=0.05;
net=train(netpt)

‘TRAIN OK.‘

save bpnet net;

% 识别
for times=0:999
    clear all;
    p(1:2561)=1;
    p1=ones(1616);
    load bpnet net;
    test=input(‘FileName:‘ ‘s‘);
    x=imread(test‘bmp‘);
    bw=im2bw(x0.5);
    [ij]=find(bw==0);
    imin=min(i);
    imax=max(i);
    jmin=min(j);
    jmax=max(j);
    bw1=bw(imin:imaxjmin:jmax);
    rate=16/max(size(bw1));
    bw1=imresize(bw1rate);
    [ij]=size(bw1);
    i1=round((16-i)/2);
    j1=round((16-j)/2);
    p1(i1+1:i1+ij1+1:j1+j)=bw1;
    %p1=-1.*p1+ones(1616);
    for m=0:15
        p(m*16+1:(m+1)*161)=p1(1:16m+1);
    end
    [aPfAf]=sim(netp);
    imshow(p1);
    a=round(a)
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2773  2002-01-01 11:47  bp\bp.asv
     文件        2773  2008-05-20 13:43  bp\bp.m
     文件      112815  2002-01-01 09:47  bp\bpnet.mat
     目录           0  2010-06-20 09:20  bp\bpnums\
     文件        3942  2008-05-19 20:41  bp\bpnums\0.bmp
     文件        3942  2008-05-19 20:42  bp\bpnums\1.bmp
     文件        3942  2008-05-19 20:45  bp\bpnums\10.bmp
     文件        3942  2008-05-19 20:46  bp\bpnums\11.bmp
     文件        3942  2008-05-19 20:46  bp\bpnums\12.bmp
     文件        3942  2008-05-19 20:46  bp\bpnums\13.bmp
     文件        3942  2008-05-19 20:46  bp\bpnums\14.bmp
     文件        3942  2008-05-19 20:46  bp\bpnums\15.bmp
     文件        3942  2008-05-19 20:47  bp\bpnums\16.bmp
     文件        3942  2008-05-19 20:47  bp\bpnums\17.bmp
     文件        3942  2008-05-19 20:47  bp\bpnums\18.bmp
     文件        3942  2008-05-19 20:47  bp\bpnums\19.bmp
     文件        3942  2008-05-19 20:43  bp\bpnums\2.bmp
     文件        3942  2008-05-19 20:48  bp\bpnums\20.bmp
     文件        3942  2008-05-19 20:49  bp\bpnums\21.bmp
     文件        3942  2008-05-19 20:49  bp\bpnums\22.bmp
     文件        3942  2008-05-19 20:49  bp\bpnums\23.bmp
     文件        3942  2008-05-19 20:49  bp\bpnums\24.bmp
     文件        3942  2008-05-19 20:49  bp\bpnums\25.bmp
     文件        3942  2008-05-19 20:49  bp\bpnums\26.bmp
     文件        3942  2008-05-19 20:50  bp\bpnums\27.bmp
     文件        3942  2008-05-19 20:50  bp\bpnums\28.bmp
     文件        3942  2008-05-19 20:50  bp\bpnums\29.bmp
     文件        3942  2008-05-19 20:43  bp\bpnums\3.bmp
     文件        3942  2008-05-19 20:50  bp\bpnums\30.bmp
     文件        3942  2008-05-19 20:50  bp\bpnums\31.bmp
     文件        3942  2008-05-19 20:51  bp\bpnums\32.bmp
............此处省略36个文件信息

评论

共有 条评论