2015-04-16 60 views
1

用於預測的輸出功能創建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。剩下的班級標籤都會正確返回,所有這些都是準確的。無論結果集或訓練集的大小如何,我都會得到這個奇怪的最後一類標籤。

回答

1

基於0的索引。 200個元素數組中的最後一個值是第199個元素。用at<float>(200)您正在讀取數組末尾的垃圾內存。

相關問題