使用 OpenCV FileStorage 读取 XML 文件

问题描述 投票:0回答:1

我正在尝试使用 FileStorage 使用以下代码读取 XML 文件:

#include <opencv2/opencv.hpp>

int main(int argc, const char * argv[]) {    
  cv::FileStorage fs("/Users/thewoz/Desktop/01.xml", cv::FileStorage::READ);  
  return 0;  
}

给我以下错误:

persistence.cpp:706: error: (-5:Bad argument) Input file is invalid in function 'open'

这是 xml 文件:

<?xml version="1.0"?>
<images>
"20170720_024951.jpg"
"20170720_025001.jpg"
"20170720_025014.jpg"
"20170720_025023.jpg"
"20170720_025034.jpg"
"20170720_025048.jpg"
"20170720_025103.jpg"
"20170720_025115.jpg"
"20170720_025124.jpg"
"20170720_025133.jpg"
"20170720_025147.jpg"
"20170720_025155.jpg"
"20170720_025211.jpg"
</images>

我不明白问题出在哪里。

c++ xml opencv
1个回答
0
投票

OpenCV 不读取任意 XML。

cv::FileStorage
仅用于存储和读取 OpenCV 类型,例如
cv::Mat
。它假定文件具有特定的结构。这是特定于
cv::FileStorage
的。

对于您的数据,您通常需要使用 XML 库。 OpenCV 不应该读取任意 XML。

© www.soinside.com 2019 - 2024. All rights reserved.