基于MATLAB神经网络图像识别的高识别率代码

 更新时间:2019年03月14日 10:50:04   作者:谦190  
今天小编就为大家分享一篇关于基于MATLAB神经网络图像识别的高识别率代码,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

MATLAB神经网络图像识别高识别率代码

I0=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\0 (1).png'));
I1=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\1 (1).png'));
I2=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\2 (1).png'));
I3=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\3 (1).png'));
I4=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\4 (1).png'));
I5=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\5 (1).png'));
I6=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\6 (1).png'));
I7=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\7 (1).png'));
I8=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\8 (1).png'));
I9=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\9 (1).png'));
%以上数据都是归一化好的数据。

P=[I0',I1',I2',I3',I4',I5',I6',I7',I8',I9'];
T=eye(10,10);
%%bp神经网络参数设置
net=newff(minmax(P),[144,200,10],{'logsig','logsig','logsig'},'trainrp');
net.inputWeights{1,1}.initFcn ='randnr';
net.layerWeights{2,1}.initFcn ='randnr';
net.trainparam.epochs=5000;
net.trainparam.show=50;
net.trainparam.lr=0.001;
net.trainparam.goal=0.0000000000001;
net=init(net);
%%%训练样本%%%%
[net,tr]=train(net,P,T);

PIN0=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\4 (2).png'));
PIN1=pretreatment(imread('Z:\data\PictureData\TestCode\SplitDataTest\3 (2).png'));
P0=[PIN0',PIN1'];
T0= sim(net ,PIN1')
T1 = compet (T0) 
d =find(T1 == 1) - 1
 fprintf('预测数字是:%d\n',d);
%有较高的识别率 

识别率还是挺高的。但是最大的难点问题是图像的预处理,分割,我觉得智能算法的识别已经做得很好了。最重要的是图像预处理分割。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

  • 详解C语言之预处理(下)

    详解C语言之预处理(下)

    这篇文章主要介绍了C语言程序的预处理,小编觉得这篇文章写的还不错,需要的朋友可以参考下,希望能够给你带来帮助
    2021-11-11
  • C++中为何推荐要把基类析构函数设置成虚函数

    C++中为何推荐要把基类析构函数设置成虚函数

    这篇文章主要介绍了C++中为何推荐要把基类析构函数设置成虚函数问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • Cocos2d-x学习笔记之Hello World!

    Cocos2d-x学习笔记之Hello World!

    这篇文章主要介绍了Cocos2d-x学习笔记之Hello World!本文基于vs2010和C++语言开发,需要的朋友可以参考下
    2014-09-09
  • C++中sort()函数和priority_queue容器中比较函数的区别详析

    C++中sort()函数和priority_queue容器中比较函数的区别详析

    C++中sort()和priority_queue都能自定义比较函数,其中sort()自定义的比较函数比较好理解,priority_queue中自定义的比较函数的效果和sort()是相反的,这篇文章主要给大家介绍了关于C++中sort()函数和priority_queue容器中比较函数的区别的相关资料,需要的朋友可以参考下
    2023-03-03
  • 手动添加bits/stdc++.h到vs2017的详细步骤

    手动添加bits/stdc++.h到vs2017的详细步骤

    这篇文章主要介绍了手动添加bits/stdc++.h到vs2017的详细步骤,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 详解C语言中的预处理命令

    详解C语言中的预处理命令

    初学C语言的时候,我们会在开头写下一句话,#include<stdio.h>,这就是预处理命令,下面我们通过这篇文章来了解一下,感兴趣的可以跟随小编一起学习一下
    2022-12-12
  • C++ Qt开发之运用QJSON模块解析数据

    C++ Qt开发之运用QJSON模块解析数据

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它易于人阅读和编写,也易于机器解析和生成,本文主要介绍了Qt如何运用QJson组件的实现对JSON文本的灵活解析功能,需要的可以参考下
    2024-01-01
  • C++中Operator类型强制转换成员函数解析

    C++中Operator类型强制转换成员函数解析

    转换函数定义了由<类型说明符1>到<类型说明符2>之间的映射关系。可见,转换函数是用来将一种类型的数据转换成为另一种类型
    2013-09-09
  • C++ requires关键字简单介绍

    C++ requires关键字简单介绍

    requires 是 C++20 中引入的一个新关键字,用于在函数模板或类模板中声明所需的一组语义要求,它可以用来限制模板参数,类似于 typename 和 class 关键字,这篇文章主要介绍了C++ requires关键字简介,需要的朋友可以参考下
    2023-05-05
  • C语言杨氏矩阵简单实现方法

    C语言杨氏矩阵简单实现方法

    杨氏矩阵是一个数字矩阵,矩阵的每一行从左到右一次递增,矩阵从上到下递增,在这样的矩阵中查找一个数字是否存在。时间复杂度小于O(N),有需要的朋友可以借鉴参考下
    2023-02-02

最新评论