C++ 如何在openCV项目中使用LIBSVM生成的模型

C++ 如何在openCV项目中使用LIBSVM生成的模型,c++,opencv,C++,Opencv,我是LibSVM和openCV领域的新手,在正确编码方面面临困难。我已经使用命令提示符生成了LibSVM模型。现在我有了文件“myData.model”。现在我想使用这个模型通过openCV预测实例 您能告诉我如何在openCV项目中调用模型文件,以及如何逐个传递实例吗 根据libSVM自述,应该是这样的: Function: double svm_predict(const struct svm_model *model, con

我是LibSVM和openCV领域的新手,在正确编码方面面临困难。我已经使用命令提示符生成了LibSVM模型。现在我有了文件“myData.model”。现在我想使用这个模型通过openCV预测实例

您能告诉我如何在openCV项目中调用模型文件,以及如何逐个传递实例吗

根据libSVM自述,应该是这样的:

 Function: double svm_predict(const struct svm_model *model,
                               const struct svm_node *x);
但我无法理解如何制作svm_node*x?我有与我为训练模型提取的相同格式的实例,即标签

请给我示例代码来解决我的问题


提前感谢。

您必须加载模型并创建svm\u节点:

struct svm_model *SVMModel;
if ((SVMModel = svm_load_model(MODEL_FILE)) == 0) {
    fprintf(stderr, "Can't load SVM model %s", MODEL_FILE);
    return -2;
}
struct svm_node *svmVec;
svmVec = (struct svm_node *)malloc((dataMat.cols+1)*sizeof(struct svm_node));
double *predictions = new double[dataMat.rows];
您可以在这里找到完整的示例: