-2

我对 opencv 很陌生,刚刚习惯了 C++ 编程,所以这个问题可能很愚蠢。如果我将它们保留为默认值并在不修改它们的情况下训练分类器,那么初始化“struct CvSVMParams”中的参数是什么值?

4

2 回答 2

1

好吧,因为opencv是开源的,你可以看看源代码

但是用谷歌搜索通常会更快,比如https://www.google.no/search?q=struct+CvSVMParams

然后右键单击第三次点击,在 opencv文档 http://docs.opencv.org/modules/ml/doc/support_vector_machines.html结束

然后使用浏览器的页面搜索功能(通常 [Ctrl F] 表示“查找”)在该页面中查找文本“CvSVMParams”,将页面引导至http://docs.opencv.org/modules/ml/doc /support_vector_machines.html#cvsvmparams-cvsvmparams

在这一点上,这是阅读文档的问题

这是一项必不可少的技能,所以我不会在这里重复我在 0.5 秒左右找到的内容来破坏它——看看吧。我还建议尝试自己从头开始搜索。因为这也是你需要的一项基本技能,必须经过培训

于 2012-09-03T09:51:54.867 回答
0

这是构造函数:

https://github.com/Itseez/opencv/blob/ddf82d0b154873510802ef75c53e628cd7b2cb13/modules/ml/src/svm.cpp

// SVM training parameters
struct SvmParams
{
    int         svmType;
    int         kernelType;
    double      gamma;
    double      coef0;
    double      degree;
    double      C;
    double      nu;
    double      p;
    Mat         classWeights;
    TermCriteria termCrit;

    SvmParams()
    {
        svmType = SVM::C_SVC;
        kernelType = SVM::RBF;
        degree = 0;
        gamma = 1;
        coef0 = 0;
        C = 1;
        nu = 0;
        p = 0;
        termCrit = TermCriteria( CV_TERMCRIT_ITER+CV_TERMCRIT_EPS, 1000, FLT_EPSILON );
    }

    SvmParams( int _svmType, int _kernelType,
            double _degree, double _gamma, double _coef0,
            double _Con, double _nu, double _p,
            const Mat& _classWeights, TermCriteria _termCrit )
    {
        svmType = _svmType;
        kernelType = _kernelType;
        degree = _degree;
        gamma = _gamma;
        coef0 = _coef0;
        C = _Con;
        nu = _nu;
        p = _p;
        classWeights = _classWeights;
        termCrit = _termCrit;
    }

};
于 2015-10-15T10:46:11.927 回答