我有一些训练数据,包括从图像和不同的类标签中提取的许多特征。我设法使用C++中的OpenCV3来训练Normal Bayes分类器。我能够将新的测试数据传入分类器,以使用predict()函数获取预测的类标签。 但是,我不想简单地得到预测的类标签,我也希望使用类NormalBayesClassifier的predictProb()函数知道每个测试数据的每个类标签的概率。opencv Normbal贝叶斯预测概率输出零
有这似乎是能够回到每类标签的概率的predictProb()函数:
virtual float cv::ml::NormalBayesClassifier::predictProb
( InputArray inputs,
OutputArray outputs,
OutputArray outputProbs,
int flags = 0
) const
然而,当我测试的代码,我总是得到0的载体或混合物0s和Inf作为预测概率,尽管我确实得到了正确的预测。我尝试将RAW_OUTPUT添加到标志并且结果相同。
int N=4;
vector loc;
loc.push_back("1.jpg");
loc.push_back("2.jpg");
loc.push_back("3.jpg");
loc.push_back("4.jpg");
loc.push_back("5.jpg");
loc.push_back("6.jpg");
Ptr<:normalbayesclassifier> rt = cv::ml::NormalB