基于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);
%有较高的识别率

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

总结

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

(0)

相关推荐

  • matlab中实现矩阵删除一行或一列的方法

    实例如下所示: >> A=[1,2,3;4,5,6;7,8,9] A = 1 2 3 4 5 6 7 8 9 删除行: >> A(2,:)=[] A = 1 2 3 7 8 9 删除列: >> A(:,2)=[] A = 1 3 7 9 以上这篇matlab中实现矩阵删除一行或一列的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: Python numpy 提取矩阵的某一行或某一列的实例 Python矩阵常见运算操

  • Matlab制作视频并转换成gif动态图的两种方法

    一.第一个方法比较简单,就是使用movie(f)直接取生成AVI视频文件. %% f(t)-->f(4*t+12) 并且验证%% function Signal_change() tic%记录程序运行时间 figure n = 0; t = -2*pi:0.01:2*pi; y = sin(t);%周期为2*pi y_result = sin(4*t); plot(t,y,'b'); xlabel('t'); ylabel('Amplitude'); n = n+1; F(n) = getfra

  • python调用matlab的m自定义函数方法

    项目信号处理和提取部分用到了matlab,需要应用到工程中方便研究.用具有万能粘合剂之称的"Python".具体方法如下: 1.python中安装mlab 下载https://pypi.python.org/pypi/mlab 安装命令:python setup.py install Mlab is a high-level python to Matlab bridge that lets Matlab look like a normal python library. 2 .测试

  • 在ubuntu16.04上创建matlab的快捷方式(实现方法)

    打开终端terminal 1 下载图标 sudo wget http://upload.wikimedia.org/wikipedia/commons/2/21/Matlab_Logo.png -O /usr/share/icons/matlab.png 2 创建空的快捷方式 sudo touch /usr/share/applications/matlab.desktop 3 编辑快捷方式 sudo gedit /usr/share/applications/matlab.desktop 4

  • 详解如何在python中读写和存储matlab的数据文件(*.mat)

    背景 在做deeplearning过程中,使用caffe的框架,一般使用matlab来处理图片(matlab处理图片相对简单,高效),用python来生成需要的lmdb文件以及做test产生结果.所以某些matlab从图片处理得到的label信息都会以.mat文件供python读取,同时也python产生的结果信息也需要matlab来做进一步的处理(当然也可以使用txt,不嫌麻烦自己处理结构信息). 介绍 matlab和python间的数据传输一般是基于matlab的文件格式.mat,pytho

  • matlab 生成.bmp格式的文件

    生成.bmp格式的文件 .bmp格式的图片是未压缩的图片,相比于.raw格式,需要加上头文件.下面以大小为M*N的图片为例,说明头文件格式和内容. M = 128; N = 128; % 构造头文件 fileMemory = bmpHeadTrans(M*N+1078); wMemory = bmpHeadTrans(M); hMemory = bmpHeadTrans(N); imgMemory = bmpHeadTrans(M*N); head_bmp = [66; 77; %头文件 0x4

  • ubuntu下Matlab_Linux添加工具包操作步骤

    以下以rvctools为例 具体操作如下: 1. 先将下载好的压缩包(robot-9.10.zip)解压,得到工具包rvctools 2. 将该工具包复制到MATLAB下的toolbox文件夹内,一般是无法将工具包复制进去的,需要添加授权 ① 先进入到以下路径/usr/local/MATLAB/R2017a ② 在terminal中输入sudo chmod 777 toolbox ③ 此时就可以将工具包rvctools放进toolbox里面了 3.跟着打开MALTAB,找到set path,设置

  • Matlab实现数据的动态显示方法

    对于真实系统或者仿真平台,数据是增量式的产生的.Matlab除了强大的矩阵运算外,还具有强大的数据可视化库.由于静态画图的方法较多,本文只针对增量式数据流的动态显示.本文主要介绍几种Matlab实现数据的动态显示方法.方法主要有两种: hold on set函数与drawnow函数组合 hold on 方法 1. 方法介绍 此种方法比较原始,适合于即时数据,原理是先画上一帧,接着保留原始图像,追加下一幀图像,此种方式比较繁琐,涉及画图细节,并且没有完整并连续的Line对象数据.此种方法需要注意的

  • Ubuntu 16.04 LTS下安装MATLAB 2014B的方法教程

    环境配置说明: 环境:Ubuntu 16.04LTS 软件:MATLAB 2014B MATLAB 2014B 下载地址(带Crack)如下: 百度云下载:   链接: https://pan.baidu.com/s/1kVJQVlX  密码: pj9m 本 地 下 载:    Ubuntu 16.04 LTS 官方正式版 32位                          Ubuntu 16.04 LTS 官方正式版 64位 步骤如下:  1.直接解压 matlab_R2014b.iso

  • MATLAB Delaunay算法提取离散点边界的方法

    最近在项目进行中遇到要提取离散点边界的问题,像我这样的对于matlab不是特别熟练的朋友一开始肯定摸不着头脑,到底选用哪种算法可以有效地提取到所有已知点的轮廓线呢.本人经过大量的文献搜索及代码实验找到了几个效果比较好的轮廓提取代码,在这里做个总结,并且希望能够对遇到同样问题的朋友有所启发. 关于离散点边界提取的三种方法: 1.Convhull 离散点集获得边界 2.Alpha Shape算法检测边缘点 3.Delaunay 三角剖分算法 前两种方法在之前的博客中已经做了总结这里就不展开了,现在主

随机推荐