error: unknown type name 'CvSVMParams’解决
这段时间在学校opencv的svm的时候,准备去学习自己训练一个模型。参考了一个大佬的教程,不过有可能是因为大佬使用你的opencv库跟我的不一样的问题,然后导致出现了一个bug,就是 error: unknown type name 'CvSVMParams'。
这个问题找了挺久的,就是因为版本不匹配的问题。
//配置SVM训练器参数
CvSVMParams SVM_params;
SVM_params.svm_type = CvSVM::C_SVC;
SVM_params.kernel_type = CvSVM::LINEAR;
SVM_params.degree = 0;
SVM_params.gamma = 1;
SVM_params.coef0 = 0;
SVM_params.C = 1;
SVM_params.nu = 0;
SVM_params.p = 0;
这个是有问题的代码,然后改进的方法如下:
Ptr svm = SVM::create();
svm->setType(SVM::C_SVC);
svm->setKernel(SVM::LINEAR);
svm->setGamma(0.01);
svm->setC(10.0);
svm->setDegree(0);
svm->setGamma(1);
svm->setCoef0(0);
svm->setC(1);
svm->setNu(0);
svm->setP(0);
这样子就可以成功解决这个问题了,不过,svm这个模型的训练还是一个很考验人的问题,现在还在不断学习加深印象,希望早点脱坑,加油!!
也希望对有相同困难的朋友有所帮助。