"训练数据必须是浮点矩阵,"从YML文件中读取矩阵

时间:2014-07-09 18:28:08

标签: c++ opencv matrix svm

我正在尝试读取来自YML的训练数据Mat以传递给SVM。我已将矩阵写入文件:

FileStorage fs("data.yml", FileStorage::WRITE);
fs << "data" << data;
fs.release();

在另一种方法中,我用以下方法阅读:

FileStorage fs_train("data.yml", FileStorage::READ);
fs_train["data"] >> dataForSVM;
fs_train.release();

然后我将dataForSVM传递给SVM.train方法。如果我跳过读/写部分,只是将原始data矩阵传递给SVM,一切都很好。

从YML读取矩阵的附加步骤导致运行时错误

  

CV ::例外:   /tmp/opencv-pLxl/opencv-2.4.9/modules/ml/src/inner_functions.cpp:857:   错误:( - 5)列车数据必须是函数中的浮点矩阵   cvCheckTrainData

有什么建议吗?

0 个答案:

没有答案