为什么“训练数据必须是浮点矩阵”运行时错误?

时间:2011-04-28 19:23:35

标签: opencv

int main(int argc,char * argv []){

Mat aObj, bObj;

string fList("horse.jpg");

for(int i = 0; i < 10; i++){

    aObj = imread(fList, CV_32FC1);
}
string fRes("horse-2.jpg");

bObj = imread(fList, CV_32FC1);

CvKNearest C(aObj, bObj); //error after here

return 0;

}

AFAIK CV_32FC1应该可以解决问题,因为我使用的是opencv 2.2,其他东西运行良好,我没有遇到问题。 Mat是一个有效的参数类型(Intellisense显示框中的选项),使用visual studio 2010。 调试将问题转移到../../Opencv2.2.0/modules/ml/src/中的inner_functions.cpp 引发错误的函数是cvCheckTrainData。 请帮忙。

1 个答案:

答案 0 :(得分:0)

我知道这篇文章相当陈旧;我来这里搜索不同的东西。但是我上传了一个源文件,向您展示如何使用OpenCV2的不同机器学习算法。它位于https://github.com/bytefish/opencv/blob/master/machinelearning-src/main.cpp的github帐户中。

最好的问候,Philipp。