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);%有較高的識別率
識別率還是挺高的。但是最大的難點問題是圖像的預處理,分割,我覺得智能算法的識別已經做得很好了。最重要的是圖像預處理分割。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接
新聞熱點
疑難解答
圖片精選