神经网络java+opencv2.X
训练
CvANN_MLP ann=new CvANN_MLP();
Mat layerSize=new Mat(4,1,CvType.CV_32SC1);
int[] layerSizeAry={4, 10,10, 3};
layerSize.put(0,0,layerSizeAry[0]);
layerSize.put(1,0,layerSizeAry[1]);
layerSize.put(2,0,layerSizeAry[2]);
layerSize.put(3,0,layerSizeAry[3]);
ann.create(layerSize);
Mat sampleWeights=new Mat();
int r=ann.train(TrainingDataMat,TrainingLabelsMat,sampleWeights);
ann.save("ann.xml");
测试/预测
Mat results=new Mat();
CvANN_MLP ann=new CvANN_MLP();
ann.load("ann.xml");
Mat sampleMat=new Mat(1,featuresArray.length,CvType.CV_32F);
sampleMat.put(0,0,featuresArray);
ann.predict(sampleMat, results); //MLP预测
MinMaxLocResult minMaxLocResult0=Core.minMaxLoc(results);
System.out.println("results="+results.dump());
|