• 【图像识别】基于卷积神经网络实现手写汉字识别附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代码问题可私信交流。

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

  • 相关阅读:
    GoF23—抽象工厂模式
    3款windows实用软件,免费又良心,真正懂你的需求
    Python Unittest测试框架
    使用Mybatis数据库逆向生成工具
    ESP8266-Arduino编程实例-ADS1115模数转换器驱动
    【51单片机】认识单片机
    kubernetes Service详解
    自动化运维工具Ansible教程(二)【进阶篇】
    G1垃圾回收器
    FLutter中inheritedwidget的使用
  • 原文地址:https://blog.csdn.net/matlab_dingdang/article/details/126498812