C++ 使用cpp在opencv的xml文件中追加元素
我试图在我的opencv xml文件中添加一个新元素,该文件已经有一个元素,如下所示C++ 使用cpp在opencv的xml文件中追加元素,c++,xml,opencv,file-storage,C++,Xml,Opencv,File Storage,我试图在我的opencv xml文件中添加一个新元素,该文件已经有一个元素,如下所示 <?xml version="1.0"?> <opencv_storage> <acc type_id="opencv-ml-ann-mlp"> ... </_></weights></acc> </opencv_storage> 提前谢谢 请尝试这个片段。它似乎像预期的那样工作 #include <opencv2/op
<?xml version="1.0"?>
<opencv_storage>
<acc type_id="opencv-ml-ann-mlp">
...
</_></weights></acc>
</opencv_storage>
提前谢谢 请尝试这个片段。它似乎像预期的那样工作
#include <opencv2/opencv.hpp>
#include <vector>
using namespace cv;
int main()
{
Mat layers = (Mat1i(2,1) << 5, 15);
CvANN_MLP ann(layers);
{
FileStorage f("OCR.xml", FileStorage::WRITE);
ann.write(*f, "acc");
}
{
FileStorage f("OCR.xml", FileStorage::APPEND);
ann.write(*f, "micr");
}
FileStorage f("OCR.xml", FileStorage::READ);
CvANN_MLP ann_acc;
ann_acc.read(*f, cvGetFileNodeByName(*f, NULL, "acc"));
CvANN_MLP ann_micr;
ann_acc.read(*f, cvGetFileNodeByName(*f, NULL, "micr"));
return 0;
return 0;
}
#包括
#包括
使用名称空间cv;
int main()
{
Mat layers=(Mat1i(2,1)请告诉我们您正在使用的代码,即a,否则不可能知道您在哪里做错了。嗨,Miki,我已经添加了代码,请检查。这对我尝试执行annAcc.load(“OCR.xml”,“acc”);annMICR.load(“OCR.xml”,“micr”)没有帮助;它给了我错误的参数错误,您可能已经注意到了。错误的参数错误是由其他错误引起的。它也适用于.load(“.xml”,”)。如果我继续使用.load而不是.read(如您所建议的那样),会如何影响?
<?xml version="1.0"?>
<opencv_storage>
<acc type_id="opencv-ml-ann-mlp">
...
<micr type_id="opencv-ml-ann-mlp">
...
</_></weights></micr></_></weights></acc>
</opencv_storage>
cv::FileStorage f("OCR.xml", cv::FileStorage::WRITE);
...
ann.write(*f, "acc"); //In another function
...
f.release();
cv::FileStorage f("OCR.xml", cv::FileStorage::APPEND);
...
ann.write(*f, "micr"); //In another function
...
f.release();
#include <opencv2/opencv.hpp>
#include <vector>
using namespace cv;
int main()
{
Mat layers = (Mat1i(2,1) << 5, 15);
CvANN_MLP ann(layers);
{
FileStorage f("OCR.xml", FileStorage::WRITE);
ann.write(*f, "acc");
}
{
FileStorage f("OCR.xml", FileStorage::APPEND);
ann.write(*f, "micr");
}
FileStorage f("OCR.xml", FileStorage::READ);
CvANN_MLP ann_acc;
ann_acc.read(*f, cvGetFileNodeByName(*f, NULL, "acc"));
CvANN_MLP ann_micr;
ann_acc.read(*f, cvGetFileNodeByName(*f, NULL, "micr"));
return 0;
return 0;
}