【问题标题】:Use libsvm with OpenCV to predict classes使用带有 OpenCV 的 libsvm 来预测类
【发布时间】:2013-06-07 20:33:52
【问题描述】:

我有一个使用 libsvm 训练的 SVM RBF 模型。我有一个现在在 OpenCV 中开发的特征提取器,而不是在 OpenCV 中重新训练模型,我想直接使用 libsvm 模型。我正在使用 svm_load_model 使用 libsvm 加载模型。我现在想使用 svm_predict(model,x) 但测试数据要加载到 svm_node x 中。如何将 OpenCV Mat 特征转换为 svm_node 或将 C++ 矢量特征转换为 svm_node x?

struct svm_node
{
int index;
double value;
};

【问题讨论】:

    标签: opencv libsvm


    【解决方案1】:

    此链接教程 OpenCV 中的 SVM。
    http://docs.opencv.org/doc/tutorials/ml/introduction_to_svm/introduction_to_svm.html

    您可以设置支持向量机参数。即 C 和 G。
    CvSVMParams 参数;
    params.svm_type = CvSVM::C_SVC;
    params.kernel_type = CvSVM::LINEAR;
    params.term_crit = cvTermCriteria(CV_TERMCRIT_ITER, 100, 1e-6);

    在 OpenCV 中训练 SVM 模型
    CvSVM 支持向量机;
    SVM.train(trainingDataMat, labelsMat, Mat(), Mat(), params);

    终于可以在SVM模型中预测数据了。
    浮动响应 = SVM.predict(sampleMat);

    【讨论】:

    • 我认为这不是 Sid 的要求。
    【解决方案2】:

    http://book.caltech.edu/bookforum/archive/index.php/t-4065.html

    看看这个。这与您(和我)面临的类似问题。

    【讨论】:

      猜你喜欢
      • 2011-12-04
      • 2011-02-15
      • 2014-05-31
      • 2015-11-26
      • 2011-07-12
      • 2013-05-18
      • 1970-01-01
      • 2012-04-27
      • 2017-07-08
      相关资源
      最近更新 更多