Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python LibSVM不能工作_Python_C++_Opencv_Libsvm - Fatal编程技术网

Python LibSVM不能工作

Python LibSVM不能工作,python,c++,opencv,libsvm,Python,C++,Opencv,Libsvm,我已经在libsvm的python实用程序中编写了我的classifier,到目前为止它工作得相当好。下面是一个如何调用Python API的示例: print svmutil.svm_predict([2], [f.flatten().tolist()], libsvm_model, '-b 1') 其中f是(1024,1)向量 我已经保存了模型,并用C++ API加载了它。然而,当我试图加载和预测同一个向量时,它给出了错误的结果 cv::Mat oneCol = fcMat.row(0);

我已经在libsvm的python实用程序中编写了我的classifier,到目前为止它工作得相当好。下面是一个如何调用Python API的示例:

print svmutil.svm_predict([2], [f.flatten().tolist()], libsvm_model, '-b 1')
其中f是(1024,1)向量

<>我已经保存了模型,并用C++ API加载了它。然而,当我试图加载和预测同一个向量时,它给出了错误的结果

cv::Mat oneCol = fcMat.row(0);
svm_node *x = (struct svm_node *) malloc(1025*sizeof(struct svm_node));
for(int i=0; i<1024; i++){
    x[i].index = i;
    x[i].value = (double)oneCol.at<float>(i);
}
x[1024].index = -1;


double *prob_estimates=NULL;
prob_estimates = (double *) malloc(svmModel->nr_class*sizeof(double));

double retVal = svm_predict_probability(svmModel, x, prob_estimates);
cout << retVal << endl;

for(int j=0;j<svmModel->nr_class;j++)
    cout << prob_estimates[j] << endl;
cv::Mat oneCol=fcMat.row(0);
svm_节点*x=(结构svm_节点*)malloc(1025*sizeof(结构svm_节点));
对于(int i=0;inr_类*sizeof(double));
double retVal=svm预测概率(svm模型,x,概率估计);
cout
for(int i=0;i
for(int i=0;i
for(int i=0; i<1024; i++){
    x[i].index = i+1;
    x[i].value = (double)oneCol.at<float>(i);
}