1 内容介绍
1.1、 数据集的获取
数据集的获取来自模式识别国家重点实验室共享,这个不解释直接上网址http://www.nlpr.ia.ac.cn/databases/download/feature_data/HWDB1.1trn_gnt.zip
1.2 CNN训练
脱机手写汉字识别因为其数目多,布局复杂,形似字多和书写风格多样化等问题,作为模式识别方向中的难点之一.基于卷积神经网络的手写汉字识别具有稳定性,多样性,特征性等特征,使卷积神经网络在手写汉字识别中被广泛使用,如CNN等.本研究从手写汉字的样本变换入手,通过对手写汉字图像的平滑去噪,归一化和仿射变换处理,以降低汉字识别前存在的问题.
2 仿真代码
load cnnNet
[filename,pathNmae] = uigetfile({'*.jpg;*.tif;*.png;*.gif','All Image Files';...
'*.*','All Files' },...
'MultiSelect', 'on');
[u,v] = size(filename);
% 判断一下,你是选择了一个还是选择了多个
if(isequal(class(filename),'cell'))
for i =1:v
filename{i} = strcat(pathNmae,filename{i});
end
else
filename = strcat(pathNmae,filename);
end
digitData = imageDatastore(filename);
YTest = classify(convnet,digitData);
figure
if(isequal(class(filename),'cell'))
for i =1:v
% filename{i} = strcat(pathNmae,filename{i});
subplot(9,9,i)
imshow(digitData.Files{i})
title(char(YTest(i,1)))
end
else
% filename = strcat(pathNmae,filename);
% figure 使用训练好的网络识别汉字,可以识别500多个汉字
imshow(digitData.Files{1})
title(char(YTest(1,1)))
end
3 运行结果
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICN4ETMfdHLkVGepZ2XtxSZ6l2clJ3LcV2Zh1Wa9M3clN2byBXLzN3btgHL9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsQTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5yMyYzN5IjNlNzY3YzN4UDMzYzX3ITNwATM0IzLchDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)