SVM无法预测

时间:2015-01-24 09:58:04

标签: c++ opencv image-processing computer-vision svm

这是我的代码:

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图像的方式有问题吗?

提前致谢。

0 个答案:

没有答案