OpenCV加载yaml文件时出错

时间:2018-01-23 01:46:35

标签: c++ opencv yaml file-storage

我正在尝试从.yaml文件加载矩阵,但OpenCV给出了以下错误:

  

OpenCV错误:icvYMLParseValue中的解析错误(vocabularytraindata.yml(132841098):缺少元素之间)。

这是写入存储文件,它工作正常:

UITabBar

这是从存储文件中读取的代码:

//save the training data
cv::FileStorage fs; 
fs.open(vocabTrainDataPath, cv::FileStorage::WRITE);
fs << "VocabTrainData" << vocabTrainData;
fs.release();

我确信已生成yaml文件,并且我已正确设置文件路径。

2 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。我之前使用的vocabTrainDataPath只是vocabularytraindata.yml。因为我认为它与可执行文件放置了相同的路径。但是当写入存储文件时,它成功了。但是从存储文件中读取,我需要设置来自\ home的total vocabularytraindata.yml路径。然后它奏效了。

答案 1 :(得分:0)

这对我的情况没有帮助。似乎OpenCV 3.4.1中的源代码有问题。解决方法是使用.JSON文件扩展名。