clc
clear
close all
%% 利用神经网络实际检验手写数字识别
global step yeta input_num output_num hid_num
%% 读取存储的图片, 对图片进行二值化,对像素矩阵进行否定
f=imread('num.jpg');
% imshow(f)
bw=~im2bw(f);
%% 形态学结构元素
se=strel('line',200,0);
%% 放大图像
bw_dilate=imdilate(bw,se);
% figure(2)
% imshow(bw);
% figure(3)
% imshow(bw_dilate);
%% 擦去灰度、二进制或打包的二进制图像
bw_dilate_erode=imerode(bw_dilate,strel('line',1000,0));
%% 形态学重建
bw_re=imreconstruct(bw_dilate_erode,bw_dilate);
result=imreconstruct(bw_re,bw);
% %% 返回经过二值化的图片bw中每个非零元素的行和列下标----每一行和每一列的找
[r,c]=find(result);
nextresult=result(min(r) :max(r),min(c):max(c));
%% 计算像素矩阵的行与列
[h,w]=size(nextresult);
%% 计算像素矩阵的列之和
hs=sum(nextresult);
%% 迭代判断主程序,展示经过识别的数字
a=1;b=1;i=1;
splitfs={};points=[];
figure(1)
while(a<w)
while(hs(a)==0&&a<w)
a=a+1;
end
b=a;
while(hs(b)>0&&b<w)
b=b+1;
end
if(b-a>2)
hresult=nextresult(:,a:b);
[r,c]=find(hresult);
result2=hresult(min(r):max(r),:);
m=min(r);n=max(r);
xi=hresult(m:n,:);
splitfs{i}=xi;
points=[points;m,n,a,b];
subplot(3,6,i);
imshow(result2);
i=i+1;
end
a=b;
end
%% 窗口展示输出结果
xs=[splitfs,points];
% figure(1)
% imshow(xs{2})
test_save=[];
for i=1:size(xs,2)-1
test = imresize(xs{i},[28,28]); %imresize函数修改图片像素尺寸[]中的内容是想要的像素的长和宽
x=reshape(im2double(test),784,1); % 将28*28的数值矩阵变为784*1,每列代表一幅图
test_save=[test_save,x];
save_value{i}=test ;
end
%% 训练、测试数据集获取
[x_train,y_train,~,~]=getdata();
x_test=test_save;
%% 初始化参数
step = input('迭代步数:');
yeta = input('学习因子:');
input_num = size(x_train,1); % 输入神经元个数(在的输入手写数字时,将数字像素转化为748*1)
hid_num = input('隐藏层神经元个数:'); % 隐藏层神经元个数
output_num = 10; % 输出层神经元个数
%% 读取训练集、测试集标签
label=zeros(10,4000);
eye_sam=eye(10);
for j=1:10
label(:,(400*(j-1)+1):400*j)= repmat( eye_sam(:,j),1,400 );
end
T=label';
xlswrite('label.xlsx',T);
%% 样本归一化
x_train = mapminmax(x_train,0,1);
x_test =mapminmax(x_test,0,1);
%% 数据集训练
[w1,b1,w2,b2]=mytrain(x_train,y_train);
%% 测试集检验
% fprintf('mytrain正确率:\n');
test_value=pric_test(x_test,w1,b1,w2,b2);
%% 输出手写数字识别数
fprintf('原手写数字为:21203196809236015\n')
[~,t_index]=max(test_value);
disp(['仿真手写数字识别为:',strtrim(num2str((t_index-1)))]);
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
内含手写数字识别测试数据集4000个,训练集1000个,其中包括训练集和测试集于一体的检验模型的精确度,同时还包含一个实际应用检验的手写数字识别的应用,可方便自己做研究做参考。 如今人工智能发展的时代,机器学习有着不可或缺的地位,而其中最为突出的模型该属于神经网络。从提出神经网络开始,历经感知机、人工神经网络、BP神经网络、进化神经网络、卷积神经网络、图神经网络等,不断的深入到众多的研究领域中,比如利用神经网络训练参数、图像识别、文本处理、图像分割、分类预测、特征提取、语音识别等,在每一个领域都发挥着它的作用。 所以,学习神经网络是非常有必要的。
资源推荐
资源详情
资源评论
收起资源包目录
Matlab:基于神经网络的手写数字识别 (2000个子文件)
8_433.bmp 2KB
5_484.bmp 2KB
6_412.bmp 2KB
2_407.bmp 2KB
6_444.bmp 2KB
0_436.bmp 2KB
0_409.bmp 2KB
5_413.bmp 2KB
0_410.bmp 2KB
8_439.bmp 2KB
5_500.bmp 2KB
4_483.bmp 2KB
2_415.bmp 2KB
6_473.bmp 2KB
3_401.bmp 2KB
5_466.bmp 2KB
2_423.bmp 2KB
9_407.bmp 2KB
6_458.bmp 2KB
8_476.bmp 2KB
8_454.bmp 2KB
4_408.bmp 2KB
1_474.bmp 2KB
5_485.bmp 2KB
0_453.bmp 2KB
7_424.bmp 2KB
3_433.bmp 2KB
8_483.bmp 2KB
0_405.bmp 2KB
4_493.bmp 2KB
5_411.bmp 2KB
4_476.bmp 2KB
3_462.bmp 2KB
6_406.bmp 2KB
0_445.bmp 2KB
2_433.bmp 2KB
1_413.bmp 2KB
7_493.bmp 2KB
0_435.bmp 2KB
2_451.bmp 2KB
1_481.bmp 2KB
2_421.bmp 2KB
2_487.bmp 2KB
6_471.bmp 2KB
0_419.bmp 2KB
7_476.bmp 2KB
7_420.bmp 2KB
5_460.bmp 2KB
3_481.bmp 2KB
5_406.bmp 2KB
7_475.bmp 2KB
8_429.bmp 2KB
5_436.bmp 2KB
1_429.bmp 2KB
4_403.bmp 2KB
9_411.bmp 2KB
3_455.bmp 2KB
1_426.bmp 2KB
7_455.bmp 2KB
7_469.bmp 2KB
4_428.bmp 2KB
3_430.bmp 2KB
5_428.bmp 2KB
0_471.bmp 2KB
7_463.bmp 2KB
1_439.bmp 2KB
6_446.bmp 2KB
1_451.bmp 2KB
6_464.bmp 2KB
4_482.bmp 2KB
8_461.bmp 2KB
0_417.bmp 2KB
1_444.bmp 2KB
8_440.bmp 2KB
5_430.bmp 2KB
7_427.bmp 2KB
9_443.bmp 2KB
0_446.bmp 2KB
7_412.bmp 2KB
5_453.bmp 2KB
2_448.bmp 2KB
1_457.bmp 2KB
4_491.bmp 2KB
0_468.bmp 2KB
0_463.bmp 2KB
1_494.bmp 2KB
5_439.bmp 2KB
6_401.bmp 2KB
4_432.bmp 2KB
5_480.bmp 2KB
0_448.bmp 2KB
3_492.bmp 2KB
4_463.bmp 2KB
9_488.bmp 2KB
7_466.bmp 2KB
7_444.bmp 2KB
1_484.bmp 2KB
5_451.bmp 2KB
9_422.bmp 2KB
8_492.bmp 2KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
秋刀鱼程序编程
- 粉丝: 493
- 资源: 110
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于NetCore3.1和Vue的系统管理平台.zip
- (源码)基于Arduino的蓝牙控制LED系统.zip
- SwitchResX 4.6.4 自定义分辨率 黑苹果神器
- (源码)基于Spring Boot和MyBatis的大文件分片上传系统.zip
- (源码)基于Spring Boot和MyBatis的后台管理系统.zip
- (源码)基于JDBC的Java学生管理系统.zip
- (源码)基于Arduino的教室电力节能管理系统.zip
- (源码)基于Python语言的注释格式处理系统.zip
- (源码)基于C++的嵌入式文件系统管理工具.zip
- (源码)基于JavaFX框架的动画与界面管理系统.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功