c++ - 在 CvSVM 上需要帮助

标签 c++ opencv computer-vision svm

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

请问有什么帮助吗?

最佳答案

构造一个CvSVMParams对象。

其成员是:

  • svm_type:要使用的SVM算法
  • kernel_type:SVM核形式
  • degree:多项式内核的度数
  • gamma:多项式、RBF 或 sigmoid 内核的尺度
  • coef0:多项式或 sigmoid 内核的偏移量
  • C:选择支持 vector 的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

关于c++ - 在 CvSVM 上需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5217723/

相关文章:

c++ - Unresolved external symbol 链接器错误 (C++)

opencv - 估计从相机到地平面点的距离

c++ - N 选择 k 为大 n 和 k

c++ - 使用自动从基类返回类型与派生类的冲突

java - 安卓 OpenCV : Edit ImageView Mat without Reassigning

c++ - 我怎样才能从OpenCV的凸缺陷点画出最小的圆

opencv - OpenCV 库中的 FindContours 函数如何工作?

matlab - 将不需要的值替换为最接近的恰好为正的索引值

visual-c++ - 霍夫变换未检测到的突出线条

c++ - std::stringstream 一次只支持一个输入?