SVM训练数据错误
SVM Training Data Error
我正在使用Opencv 3.0,我尝试了这个代码,但我得到了这个错误:
using namespace std;
using namespace cv;
using namespace cv::ml;
int main(int argc, char** argv){
int labels[10] = { 0, 0, 1, 1, 0, 1, 1, 1, 1, 0};
cv::Mat lablesMat(10, 1, CV_32SC1, labels);
float trainingData[10][2] = { { 100, 10 }, { 150, 10 }, { 600, 200 }, { 600, 10 }, { 10, 100 }, { 455, 10 }, { 345, 255 }, { 10, 501`z` }, { 401, 255 }, { 30, 150 } };
cv::Mat trainDataMat(10, 2, CV_32FC1, trainingData);
SVM::Params params;
params.svmType = SVM::C_SVC;
params.kernelType = SVM::LINEAR;
params.termCrit = TermCriteria(TermCriteria::MAX_ITER, 100, 1e-6);
// Train the SVM
Ptr<SVM> svm = StatModel::train<SVM>(trainDataMat, ROW_SAMPLE, lablesMat, params);
//Create test features
float testData[2] = { 150, 15 };
cv::Mat testDataMat(2, 1, CV_32FC1, testData);
//Predict the class labele for test data sample
float predictLable = svm->predict(testDataMat);
std::cout << "Predicted label :" << predictLable << "n";
return(0);
}
OpenCV错误:断言在预测中失败(samples.cols=var_count&&samples.type()=CV_32F),在引发"cv::Exception"的实例后调用了terminatewhat():错误:(-215)samples.cols==var_count&;samples.type()==函数中的CV_32F预测
问题是测试向量应该有1行和2列
cv::Mat testDataMat(1, 2, CV_32FC1, testData);
相关文章:
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 尝试通过OCI例程从Oracle获取blob数据,但出现错误:ORA-01008:并非所有变量都绑定
- 使用 char* 存储数据和产生的错误
- Static_cast转换为错误的数据类型,但结果仍然正确?
- 创建服务失败0x6f7存根收到错误数据
- 通过 host() 从 af::array 检索数据会导致错误的数据
- OpenCV C++ 3 维垫数据访问错误值
- 错误: 无效使用非静态数据成员"应用程序::应用程序构造函数"
- 错误 - 自定义数据类型作为有效负载,带有提升::几何
- C 如何忽略错误数据输入
- C ++编译指示OMP分割错误(数据竞争?)与数组
- C++ mac OS X El Capitan上的openmp,Valgrind错误(数据竞赛)
- 通过结构指针访问结构变量分配错误数据
- 我该怎么做 throw 来处理 C++ 中的错误数据类型
- C++:模拟餐饮公司计费程序-无法将错误数据输出到错误文件
- 使用boost::asio套接字接收错误数据
- 读取位图图像时获取错误数据
- 来自cudaMemcpy2D的错误数据
- VS2010 x64:64位平台VS2010中包含错误数据的对象数组
- c++ fstream输出错误数据