需要有关CvSVM的帮助

时间:2011-03-07 09:04:27

标签: c++ opencv computer-vision svm

我无法找到有关如何将SVM参数传递给opencv cvSvm类的正确引用。我得到了参数列表,但没有关于如何将参数转换为CV数据结构的任何教程。

我可以帮忙吗?

1 个答案:

答案 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_critCvTermCriteria
  • 中的终止条件

更改相应字段并将其传递给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