使用OpenCV SVM时是否有任何清单可以避免崩溃?

时间:2016-01-16 07:44:06

标签: c++ opencv

我慢慢地在OpenCV 2.4中逐步完成SVM。从一次撞击到另一次撞击 是否有任何建议清单,如何检查数据,以便为训练和预测功能提供数据?

目前我在调用预测时遇到了崩溃,但无法找出原因。

这是应该相关的代码部分:

            row = cv::Mat::zeros(1, 256, CV_32FC1); 
            for ( std::map<int, int>::iterator fit = tmp.begin(); fit != tmp.end(); fit ++ )
            {
                row.at<float>(0, fit->first) = fit->second;


            }               
            float result = svm.predict(row);

1 个答案:

答案 0 :(得分:0)

似乎是另一个没有记录的绊脚石。 当我在堆上创建CvSVM - 实例时,它不再崩溃。

我曾经在我的测试代码中创建一个全局实例ov CvSVM,并稍后为其分配实际数据:

CvSVM _svm;
//... some code and scopes
//training
_svm = CvSVM (trainingData, trainingClasses, cv::Mat(), cv::Mat(), param);
//... some code and scopes
//testing
float l = _svm.predict(testData)

它在预测中崩溃,因为标签mat vas not initialized