这是我的代码:
int numPostivesrow = happy.rows;
int numNegativesrow = sad.rows;
int numrow = numPostivesrow + numNegativesrow;
int numcol = happy.cols;
Mat trainData(numrow, numcol, CV_32FC1);
happy.copyTo(trainData.rowRange(0, numPostivesrow));
sad.copyTo(trainData.rowRange(numPostivesrow, numrow));
Mat labelsMat(numrow, 1, CV_32FC1);
labelsMat.rowRange(0, numPostivesrow).setTo(1.0);
labelsMat.rowRange(numPostivesrow, numrow).setTo(2.0);
CvSVMParams params;
params.svm_type = SVM::C_SVC;
params.C = 0.1;
params.kernel_type = SVM::LINEAR;
params.term_crit = TermCriteria(CV_TERMCRIT_ITER, (int)1e7, 1e-6);
CvSVM svm;
svm.train(trainData, labelsMat, Mat(), Mat(), params);
Mat testData(numPostivesrow, numcol, CV_32FC1);
testData = elbp;
testData.convertTo(testData ,CV_32FC1);
float response = svm.predict(testData);
程序可以运行直到预测。
params或我训练脸部LBP图像的方式有问题吗?
提前致谢。