Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/124.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文件存储如何读取结构向量?_C++_Opencv_Yaml - Fatal编程技术网

C++ OpenCV文件存储如何读取结构向量?

C++ OpenCV文件存储如何读取结构向量?,c++,opencv,yaml,C++,Opencv,Yaml,我用如下数据编写向量: string filename= itemName+".yml"; FileStorage fs(filename, FileStorage::WRITE); fs << "number_of_objects" << (int)vec.size(); fs << "objects" << "["; for( int i=0; i < (int)vec.size(); ++i ) { fs << "

我用如下数据编写向量:

string filename= itemName+".yml";

FileStorage fs(filename, FileStorage::WRITE);
fs << "number_of_objects" << (int)vec.size();
fs << "objects" << "[";
for( int i=0; i < (int)vec.size(); ++i )
{
    fs << "{";
    fs << "x" << rc.x/imageScale;
    fs << "y" << rc.y/imageScale;
    fs << "w" << rc.width/imageScale;
    fs << "h" << rc.height/imageScale;
    fs << "}";
}
fs << "]";
string filename=itemName+“.yml”;
FileStorage fs(文件名,FileStorage::WRITE);

fs正确的方法是使用
FileNode
FileNodeIterator

    FileStorage fs(filename, FileStorage::READ);

    if(!fs.isOpened())
        return false;

    int nObjects= 0;
    fs["number_of_objects"] >> nObjects;
    vec.resize(nObjects);

    FileNode fn = fs["objects"];
    int id=0;
    for (FileNodeIterator it = fn.begin(); it != fn.end(); it++,id++)
    {
        FileNode item = *it;

        int x,y,w,h;
        item["x"] >> x;
        item["y"] >> y;
        item["w"] >> w;
        item["h"] >> h;
    }

正确的方法是使用
FileNode
FileNodeIterator

    FileStorage fs(filename, FileStorage::READ);

    if(!fs.isOpened())
        return false;

    int nObjects= 0;
    fs["number_of_objects"] >> nObjects;
    vec.resize(nObjects);

    FileNode fn = fs["objects"];
    int id=0;
    for (FileNodeIterator it = fn.begin(); it != fn.end(); it++,id++)
    {
        FileNode item = *it;

        int x,y,w,h;
        item["x"] >> x;
        item["y"] >> y;
        item["w"] >> w;
        item["h"] >> h;
    }