【问题标题】:Why "train data must be floating-point matrix" runtime error?为什么“训练数据必须是浮点矩阵”运行时错误?
【发布时间】:2011-08-14 23:54:54
【问题描述】:

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。 请帮忙。

【问题讨论】:

    标签: opencv


    【解决方案1】:

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

    最好的问候,菲利普。

    【讨论】:

      猜你喜欢
      • 2016-07-13
      • 2015-02-07
      • 2018-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-08
      • 2011-12-03
      • 1970-01-01
      相关资源
      最近更新 更多