我无法找到有关如何将SVM参数传递给opencv cvSvm类的正确引用。我得到了参数列表,但没有关于如何将参数转换为CV数据结构的任何教程。
我可以帮忙吗?
答案 0 :(得分:10)
构造一个CvSVMParams
对象。
其成员是:
svm_type
:要使用的SVM算法kernel_type
:SVM内核表单degree
:多项式内核的程度gamma
:缩放多项式,RBF或sigmoid内核coef0
:多项式或sigmoid内核的偏移量C
:用于选择支持向量的C比率nu
:nu-SVR算法的nu值p
:eps-SVR的p值class_weights
:C-SVM的类权重term_crit
:CvTermCriteria
更改相应字段并将其传递给CvSVM
构造函数。将使用您的参数训练SVM。
CvSVMParams params ;
params.svm_type = CvSVM::C_SVC ;
params.kernel_type = CvSVM::RBF ;
params.gamma = 0.5 ;
CvSVM svm(&samples, &labels, 0, 0, params) ;
有关更多信息,请参阅CvSVM文档: http://opencv.willowgarage.com/documentation/cpp/support_vector_machines.html