ошибка: «класс cv::ml::TrainData» не имеет члена с именем «getTestSamples» Mat vdata = tdata->getTestSamples();

Я получаю эту ошибку при использовании ml , opencv 3.1

: error: ‘class cv::ml::TrainData’ has no member named ‘getTestSamples’
 Mat vdata = tdata->getTestSamples();
                    ^

в чем может быть причина этой ошибки?

вот мой код мл:

Я включил их в свой код

#include <opencv2/core.hpp>
#include <opencv2/imgproc.hpp>
#include "opencv2/imgcodecs.hpp"
#include <opencv2/highgui.hpp>
#include <opencv2/ml.hpp>

using namespace cv;
using namespace std;
using namespace cv::ml;


Ptr<ml::SVM> svm = ml::SVM::create();
Ptr<ml::TrainData> tdata = ml::TrainData::loadFromCSV("ear.csv",0,0,1);
tdata->setTrainTestSplitRatio(0.8);

Mat data = tdata->getTrainSamples();
Mat labels = tdata->getTrainResponses();
labels.convertTo(labels, CV_32S);
svm->train(data,0,labels);

Mat vdata = tdata->getTestSamples();
Mat vlabels = tdata->getTestResponses();
Mat results;
svm->predict(vdata,results);

person tofi    schedule 03.01.2017    source источник


Ответы (1)


arrow_upward
0
arrow_downward

Это действительно opencv в версии 3.1, которую вы используете?

Глядя на документацию getTestSampleIdx1mlgetTestSampleIdx1TrainData.html" rel="nofollow noreferrer">TrainData, я на самом деле не мог видеть метод, который вы ищете в общедоступном интерфейсе. Есть getTestSampleIdx и getTestSampleWeights, но не тот, которому вы хотите позвонить.

person Dusteh    schedule 03.01.2017