MLTrainerDebug.cpp

Source code to reproduce bug. - R K, 2011-02-14 05:06 pm

Download (892 Bytes)

 
1
#include <cv.h>
2
#include <ml.h>
3
using namespace cv;
4
5
int main(int argc, char **argv) {
6
7
        int sampleCountForTesting = 2731; //BROKEN: Breaks for values of 2731 or greater!
8
        Mat trainingData( sampleCountForTesting, 1, CV_32FC1, Scalar::all(0.0) );
9
        Mat trainingResponses( sampleCountForTesting, 1, CV_32FC1, Scalar::all(0.0) );
10
        
11
        for(int j = 0; j < 6; j++) {
12
                trainingData.at<float>( j, 0 ) = (float) (j%2);
13
                trainingResponses.at<float>( j, 0 ) = (float) (j%2);
14
        } //Setting some values to avoid getting "single class" error during cross-validation step
15
        
16
        CvSVMParams svmParams( 100, //100 is CvSVM::C_SVC,
17
                                                  2, //2 is CvSVM::RBF,
18
                                                  1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
19
                                                  NULL,
20
                                                  TermCriteria( TermCriteria::MAX_ITER | TermCriteria::EPS, 2, 1.0 ) );
21
        CvSVM svm = CvSVM();
22
        svm.train_auto( trainingData, trainingResponses, Mat(), Mat(), svmParams );
23
        
24
        return 0;
25
}
26
27
28
29
30
31
32
33
34