GetFeature.m

%将图像分为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;end
end
data=data'; %将当前手写数字的特征向量由行向量变为列向量
end

rbftest.m

function 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
tc(:,1:210)=0;
tc(:,211:420)=1;
tc(:,421:630)=2;
tc(:,631:840)=3;
tc(:,841:1050)=4;
tc(:,1051:1260)=5;
tc(:,1261:1470)=6;
tc(:,1471:1680)=7;
tc(:,1681:1890)=8;
tc(:,1891:2100)=9;
tc=tc/10;
t=tc;
SPREAD=1;
rbfnet=newrbe(p,t,SPREAD);t=sim(rbfnet,sample);
t=t*10;
y=round(t);
end

test.m

clear
clc
I=imread('sample3.bmp');
A=GetFeature(I);
Y=rbfnettest(A)

相关数据库与代码下载地址:http://pan.baidu.com/s/1c0oH7l2

基于RBF简单的matlab手写识别相关推荐

  1. matlab global rbfnet,基于RBF简单的matlab手写识别

    GetFeature.m %将图像分为25块,计算每一块的空白部分所占比例 function data=GetFeature(I) [row,col]=find(I==0); %返回数字的上下左右的边 ...

  2. MATLAB实现数字识别系统,基于人工神经网络的MATLAB手写数字识别系统

    <基于人工神经网络的MATLAB手写数字识别系统>由会员分享,可在线阅读,更多相关<基于人工神经网络的MATLAB手写数字识别系统(8页珍藏版)>请在人人文库网上搜索. 1.基 ...

  3. 基于人工神经网络的MATLAB手写数字识别系统

    函数MouseDraw实现手写识别系统GUI界面的建立和鼠标手写的实现.(使用时保存为MouseDraw.m) function MouseDraw(action) % MouseDraw 本例展示如 ...

  4. 一个简单有效的手写识别引擎

    实现一个手写识别引擎有多复杂困难?那就要看你使用什么算法啦. 在开源库中比较常用的有使用 SVM (Support Vector Machine) 的 Zinnia( http://zinnia.so ...

  5. MATLAB手写识别

    文章在对BP神经网络基本原理研究的基础上提出了利用BP神经网络方法来实现手写数字识别的方案.通过MATLAB仿真实验表明基于BP神经网络的数字识别系统取得了良好效果.手写数字识别模式识别BP神经网络中 ...

  6. 【tensorflow】简单的Tensorflow手写识别体

    来源于<TensorFlow实战>, 黄文坚, 唐源 单层感知机 # -*- coding:utf-8 -*- # [https://www.amazon.cn/dp/B06X8Z4BS9 ...

  7. 使用zinnia库进行中文手写识别

    研究手写识别的时候看到了zinnia,就进行了测试,存在问题是zinnia书写依赖笔画顺序,而且没有找到更多的可以用于训练的数据. zinnia介绍 zinnia是一个基于svm的开源的手写识别库.z ...

  8. 使用MATLAB实现基于BP神经网络训练的手写字母识别程序

    前言 大三的时候利用MATLAB搭建了一个基于BP神经网络框架的手写字母识别程序,其中使用了EMNIST数据集进行训练和测试,可实时对手写输入样本进行识别,并返回两个最可能的结果,过程中可继续添加样本 ...

  9. 基于Aforge的手势识别之一~~~简单的手写识别

    本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 上一篇文章介绍了如何用Aforge去捕捉运动物体,现在就介绍一个更深入的操作----手势识别.       我 ...

最新文章

  1. java和python都要掌握_如果两者都决定要学的话,先学Java还是Python?
  2. 分析Android银行木马GM Bot的变异过程
  3. codevs 1230 元素查找
  4. Hakase and Nano(博弈)
  5. html基本标签与属性
  6. react事件处理函数中绑定this的bind()函数
  7. OpenvSwitch实现kubernetes依赖的底层网络
  8. 基于Redis的微博的注册
  9. xb2xe2 是什么编码 php,python - 这是什么编码,如何解码
  10. github page+jekyll搭建个人博客总结
  11. OpenCV-图像处理(03、Mat对象)
  12. Linux下Oracle中sqlplus上下键乱码问题
  13. Centos7 镜像下载地址
  14. 计算机导论知识体系,《计算机导论》课程知识体系结构研究
  15. c语言 数据类型作业 答案,C语言-数据类型习题及答案
  16. 【机器学习基础】误差分析
  17. 清空el-form表单数据(整理)
  18. 多租户SaaS管理系统框架设计:多租户,多组织,用户区别
  19. Zig-Zag模式填充矩阵
  20. python批量分割音频-无bug完美运行

热门文章

  1. [蓝桥杯][2014年第五届真题]生物芯片(数论)
  2. java web后端技能树_后端技能树修炼:CAP 定理
  3. mysql create database to_MySQL中CREATE DATABASE和CREATE SCHEMA区别(转)
  4. 一加7充电_刘作虎:一加7没有无线充电,Dash是最好的快充之一
  5. 【计算机组成原理】十进制数串
  6. mysql 5.5 slave 配置_mysql5.5 master-slave(Replication)配置方法
  7. html dot标签,html – CSS Dot符号命名约定
  8. 『设计模式』电话接线员与中介者模式
  9. codeforce 1311E. Construct the Binary Tree (构造,就是个模拟)
  10. 十分钟看懂什么是VoLTE【包学包会,否则退款】