rbfsinglecharrecognition.m

来自「基于径向基神经网络的字符和数字的训练」· M 代码 · 共 68 行

M
68
字号
clc
clear all
load netChar.mat
nntwarn off;
close all
%%%%%%%%%_____A--Z______%%%%%%%%%%
[picname,picpath,filterindex]=uigetfile(...
    {['*.jpg;*.tiff;*.gif;*.bmp;*.png;*.hdf;*.pcx;',....
    '*.xwd;*.ico;*.cur;*.ras;*.pbm;*.pgm;*.ppm'],....
    ['All Image Files (*.jpg,*.tiff,*.gif,',....
    '*.bmp,*.png,*.hdf,*.pcx,*.xwd,*.ico,',....
    '*.cur,*.ras,*.pbm,*.pgm,*.ppm)'];....
    '*.jpg','JPEG Image(*.jpg)'; ...
    '*.tiff','TIFF Image(*.tiff)'; ...
    '*.gif','GIF Image(*.gif)'; ...
    '*.bmp','BMP Image(*.bmp)'; ...
    '*.png','PNG Image(*.png)'; ...
    '*.hdf','RASTER Image(*.hdf)';....
    '*.pcx','PCX Image(*.pcx)';....
    '*.xwd','PIXMAPS Image(*.xwd)';....
    '*.ico','ICO Image(*.ico)';....
    '*.cur','CUR Image(*.cur)';....
    '*.ras','RAS Image(*.ras)';....
    '*.pbm','PBM Image(*.pbm)';....
    '*.pgm','PGM Image(*.pgm)';....
    '*.ppm','PPM Image(*.ppm)'},....
    '选择处理图像');
InputImage=strcat(picpath,picname);
InputImage = imread(InputImage);


    InputImage=double(InputImage);
    [m n]=size(InputImage);
    for ii=1:m
       for jj=1:n
           if InputImage(ii,jj)>100
             InputImage(ii,jj)=1;
           else
             InputImage(ii,jj)=0;
           end
       end
    end
    input=InputImage;%二值化后的输入图象
    InputImage=reshape(InputImage,m*n,1);
    p=InputImage;
    a=sim(net,p);
    [l num]=max(a);
    num=num-1;
if (num>=0)&&(num<=7)
    num=num+65;
elseif (num>=8)&&(num<=12)
    num=num+66;
else 
    num=num+67;
end
num=char(num);
if l<0.30
    str=strcat('可能是',num);
    str=strcat(str,'建议人工确定');
    figure,imshow(input),title(str);
else
str=strcat('这个字母是',num);
figure,imshow(input),title(str);
end
display(str);


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?