微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【图像识别】基于卷积神经网络实现手写汉字识别附matlab代码

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 运行结果

4 参考文献

[1]祝世平, 周富强, 魏新国,等. 基于卷积神经网络的图像识别教学实验[J]. 电气电子教学学报, 2017, 39(4):4.

[2]林恒青. 基于深度卷积神经网络的脱机手写汉字识别系统的设计与实现[J].  2021(2019-2):31-34.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐