我希望在opencv中看到svmPredcit()完成分类的结果。我已经实现了两种查看结果的方法。首先,要看分类边界的距离。第二,看预测结果(是或否)。
float predict = svm.predict(tryme, true);
cout<<"\n The result of prediction is: "<<predict;
bool result = svm.predict(tryme, false);
cout<<"\n The result of prediction in bool: "<<result<<"\n";
问题:虽然预测值随着输入图像的变化而变化(有时候-ve有时+ ve)但是我仍然总是从第二个cout语句得到“1”(即值结果总是一个)。
答案 0 :(得分:0)
假设您的代码为+1
且-1
,则代码应为
bool result = svm.predict(tryme, false) > 0.0f;
将+ 1.0f和-1.0f转换为bool会导致true