为预测函数的输出创建Mat
Mat results = Mat::zeros(200,1,CV_32FC1);
为预测函数提供功能集和结果Mat
我想要返回的类标签。
svm.predict(features,results);
然后结果垫中的最后一个(或本例中为第200个)类标签将始终给出相同的奇怪数字。
qDebug() << k<<":" << results.at<float>(200)
200:1.4013e-45
svm
接受了1级和-1级的训练。其余的类标签都正确返回,所有这些标签也准确无误。无论结果集或训练集的大小,我都会得到这个奇怪的最后一个标签。
答案 0 :(得分:1)
基于0的索引。 200个元素的数组中的最后一个值是第199个元素。使用at<float>(200)
,您将读取数组末尾的垃圾内存。