Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在OpenCV中读取XML字符串?_C++_Xml_Opencv - Fatal编程技术网

C++ 如何在OpenCV中读取XML字符串?

C++ 如何在OpenCV中读取XML字符串?,c++,xml,opencv,C++,Xml,Opencv,我知道如何将cv::Mat实例加载/保存到XML文件中(请参阅) 但我真正需要的是解析包含XML的std::string(或char*),并获取cv::Mat。假设我从数据库中获取XML,而不是从文件中获取。 这可能吗?您可以从OpenCV 2.4.1开始执行 以下是来自以下网站的代码示例: /==存储数据==== FileStorage fs(“.xml”,FileStorage::WRITE+FileStorage::MEMORY); fs-mymatrix; 太棒了。遇到同样问题的任何人,

我知道如何将
cv::Mat
实例加载/保存到XML文件中(请参阅)

但我真正需要的是解析包含XML的
std::string
(或
char*
),并获取
cv::Mat
。假设我从数据库中获取XML,而不是从文件中获取。


这可能吗?

您可以从OpenCV 2.4.1开始执行

以下是来自以下网站的代码示例:

/==存储数据====
FileStorage fs(“.xml”,FileStorage::WRITE+FileStorage::MEMORY);
fs-mymatrix;

太棒了。遇到同样问题的任何人,都不应该像其他lib一样编写FileStorage::READ | | FileStorage::MEMORY之类的东西,而应该使用+来代替。在读回时,如何指定格式(YAML/XML)?我这样问是因为我是以.xml格式编写的。@rdasxy,格式是自动检测的。我不确定,但很可能是基于XML/YML声明决定的tag@xxbidiao您不应该使用
+
,您需要的是逻辑或
,而不是布尔或
|
//==== storing data ====
FileStorage fs(".xml", FileStorage::WRITE + FileStorage::MEMORY);
fs << "date" << date_string << "mymatrix" << mymatrix;
string buf = fs.releaseAndGetString();

//==== reading it back ====
FileStorage fs(buf, FileStorage::READ + FileStorage::MEMORY);
fs["date"] >> date_string;
fs["mymatrix"] >> mymatrix;