资源简介

不同的数据集给出的数据标注格式可能不同,有的标注格式使用的是一张图对应一个xml文件,有的代码需要一个存储数据的groundtruth.txt文件,代码中使用tinyxml库将这种批量的xml文件转存到一个groundtruth.txt文件中。readme供小白使用,也可以作为tinyxml的学习参考。

资源截图

代码片段和文件信息

#include 
#include l.h>
#include 
#include 
#include 
#include 
#include 
#include 
#include 

using namespace std;


class bound
{
public:
  string tmp;
  int xmin;
  int xmax;
  int ymin;
  int ymax;
};

int main()
{
  string filepath = “/home/nvidia/Videos/s_video/“;
//  string sequence;
//  cin >> sequence;
  string filename = “/1(“;
  string suffix = “).xml“;

  string frame_num;
  string read_path;
 
  TixmlDocument *pdoc = new TixmlDocument();
  TixmlElement* prootElem;
  TixmlElement* psize;
  TixmlElement* preadsize;
  TixmlElement* pbndbox;
  TixmlElement* preadbox;
  
  bound objbox;
  int widthheight;
  string strwidth; 
  string strheight;
  
  ofstream groundtxt(“../groundtruth.txt“);
  
  
  for(int framecount=0;;framecount++)
  {

    frame_num = to_string(framecount);
    read_path = filepath+sequence+filename+frame_num+suffix;
  
    if(!pdoc->LoadFile(read_path.c_str()))
    {
      printf( “Could not load example xml file %s. Error=‘%s‘\n“ read_path.c_str()pdoc->ErrorDesc());
      printf(“frame num:%d\n“framecount);
      return 0;
    }
  
    prootElem = pdoc->RootElement();

 //read size
    psize = prootElem->FirstChildElement(“size“);
    
    preadsize = psize->FirstChildElement(“width“);
    strwidth = preadsize->GetText();
    preadsize = psize ->FirstChildElement(“height“);
    strheight = preadsize->GetText();
    width = atoi(strwidth.c_str());
    height = atoi(strheight.c_str());
    
//     cout<<“width*height:“<    
    
    //read box
    pbndbox = prootElem ->FirstChildElement(“object“);
    pbndbox = pbndbox ->FirstChildElement(“bndbox“);
    
    preadbox = pbndbox->FirstChildElement(“xmin“);
    objbox.tmp = preadbox->GetText();
    objbox.xmin = atoi(objbox.tmp.c_str());
    
    preadbox = pbndbox->FirstChildElement(“xmax“);
    objbox.tmp = preadbox->GetText();
    objbox.xmax = atoi(objbox.tmp.c_str());
    
    preadbox = pbndbox->FirstChildElement(“ymin“);
    objbox.tmp = preadbox->GetText();
    objbox.ymin = atoi(objbox.tmp.c_str());
    
    preadbox = pbndbox->FirstChildElement(“ymax“);
    objbox.tmp = preadbox->GetText();
    objbox.ymax = atoi(objbox.tmp.c_str());
    
    groundtxt<    
    
    
  }
  
  return 0;
}





 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-04-10 11:15  xml2groundtruth\
     文件      184162  2019-04-10 01:10  xml2groundtruth\libtinyxml.a
     文件        2407  2019-04-10 11:09  xml2groundtruth\main.cpp
     文件           0  2019-04-10 10:55  xml2groundtruth\groundtruth.txt
     文件      210124  2019-04-10 01:02  xml2groundtruth\tinyxml_2_6_2.tar.gz
     文件         315  2018-02-16 23:50  xml2groundtruth\1(0).xml
     文件         412  2019-04-10 07:37  xml2groundtruth\CMakeLists.txt
     文件         865  2019-04-10 11:15  xml2groundtruth\readme.md
     目录           0  2019-04-10 11:13  xml2groundtruth\build\
     目录           0  2019-04-10 11:02  xml2groundtruth\tinyxml_makefile\
     文件        3651  2019-04-10 01:09  xml2groundtruth\tinyxml_makefile\Makefile

评论

共有 条评论