CvANN介绍参考http://blog.csdn.net/xiaowei_cqu/article/details/9027617
但是博主demo没看懂,可能是没贴对。
另整理demo如下:
void testANN()
{
//Setup the BPNetwork
CvANN_MLP bp;
// Set up BPNetwork's parameters
CvANN_MLP_TrainParams params;
//params.train_method=CvANN_MLP_TrainParams::BACKPROP;
//params.bp_dw_scale=0.1;
//params.bp_moment_scale=0.1;
params.train_method=CvANN_MLP_TrainParams::RPROP;
params.rp_dw0 = 0.1;
params.rp_dw_plus = 1.2;
params.rp_dw_minus = 0.5;
params.rp_dw_min = FLT_EPSILON;
params.rp_dw_max = 50.;
// Set up training data
// step 1:
float labels[4] = {1.0, -1.0, -1.0, -1.0};
Mat labelsMat(4, 1, CV_32FC1, labels);
float trainingData[4][2] = { {501, 10}, {255, 10}, {501, 255}, {10, 501} };
Mat trainingDataMat(4, 2, CV_32FC1, trainingData);
Mat layerSizes=(Mat_<int>(1,4) << 2,3,3,1);