【问题标题】:Error while OpenCV load yaml fileOpenCV 加载 yaml 文件时出错
【发布时间】:2018-01-23 01:46:34
【问题描述】:

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

OpenCV 错误:icvYMLParseValue 中的解析错误(vocabularytraindata.yml(132841098): Missing, between the elements)。

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

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

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

cv::FileStorage fs; 

//load in vocab training data
fs.open(vocabTrainDataPath, cv::FileStorage::READ);
cv::Mat vocabTrainData;
fs["VocabTrainData"] >> vocabTrainData;

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

【问题讨论】:

    标签: c++ opencv yaml file-storage


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2023-04-02
        • 2012-06-17
        • 1970-01-01
        • 2020-09-16
        • 2023-04-09
        • 1970-01-01
        • 1970-01-01
        • 2018-02-18
        • 2015-07-11
        相关资源
        最近更新 更多