我慢慢地在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);
答案 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