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

I0=pretreatment(imread('Z:dataPictureDataTestCodeSplitDataTest (1).png'));
I1=pretreatment(imread('Z:dataPictureDataTestCodeSplitDataTest1 (1).png'));
I2=pretreatment(imread('Z:dataPictureDataTestCodeSplitDataTest2 (1).png'));
I3=pretreatment(imread('Z:dataPictureDataTestCodeSplitDataTest3 (1).png'));
I4=pretreatment(imread('Z:dataPictureDataTestCodeSplitDataTest4 (1).png'));
I5=pretreatment(imread('Z:dataPictureDataTestCodeSplitDataTest5 (1).png'));
I6=pretreatment(imread('Z:dataPictureDataTestCodeSplitDataTest6 (1).png'));
I7=pretreatment(imread('Z:dataPictureDataTestCodeSplitDataTest7 (1).png'));
I8=pretreatment(imread('Z:dataPictureDataTestCodeSplitDataTest8 (1).png'));
I9=pretreatment(imread('Z:dataPictureDataTestCodeSplitDataTest9 (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:dataPictureDataTestCodeSplitDataTest4 (2).png'));
PIN1=pretreatment(imread('Z:dataPictureDataTestCodeSplitDataTest3 (2).png'));
P0=[PIN0',PIN1'];
T0= sim(net ,PIN1')
T1 = compet (T0) 
d =find(T1 == 1) - 1
 fprintf('预测数字是:%dn',d);
%有较高的识别率 

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

总结

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

点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部