我正在尝试读取来自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
有什么建议吗?