OpenCV的SVM ::预测()的结果总是被设置给同一个值

用于预测的输出功能创建MatOpenCV的SVM ::预测()的结果总是被设置给同一个值

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的索引。 200个元素数组中的最后一个值是第199个元素。用at<float>(200)您正在读取数组末尾的垃圾内存。

以上是 OpenCV的SVM ::预测()的结果总是被设置给同一个值 的全部内容, 来源链接: utcz.com/qa/264170.html

回到顶部