一、简介
模型参考这里。
二、源代码
```
clear
clc
I=imread('sample3.bmp');
A=GetFeature(I);
%将图像分为25块,计算每一块的空白部分所占比例
function data=GetFeature(I)
[row,col]=find(I==0); %返回数字的上下左右的边界
I=I(min(row):max(row),min(col):max(col)); %截取手写数字图像,使其紧包含数字边界,不包含多余的空白
imwrite(I,'您手写的字.bmp','bmp'); %保存截取后的手写数字图像[row,col]=size(I);
r=fix(row/5); %为分25块做准备
c=fix(col/5);
sum=0; %计算空白块数目
k=1;feature=[];
for i=1:r:5*r %先从行开始计算for j=1:c:5*c %保持行不变,先计算列for m=i:i+r-1for n=j:j+c-1if I(m,n)==0sum=sum+1; %每一块空白的像素块的数目endendenddata(k)=sum/(r*c); %第k个特征分量,即第k块的空白率,k最大为25sum=0;k=k+1;endfunction y = rbfnettest( sample )load template pattern;
c=0;
for i=1:10for j=1:210c=c+1;p(:,c)=pattern(i).feature(:,j);end
end
```![点击并拖拽以移动](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)
三、运行结果
四、参考文献
[1]张秀玲, 李海滨. 一种基于RBF神经网络的数字模式识别方法[J]. 仪器仪表学报, 2002, 23(3):265-267.
### 博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
**部分理论引用网络文献,若有侵权联系博主删除。**