aihot  2017-04-28 23:30:03  OpenCV |   查看评论   

 OpenCV学习笔记(六)——对XML和YAML文件实现I/O操作

1. XML、YAML文件的打开和关闭

XML\YAML文件在中的为FileStorage,打开操作例如:

  1. string filename = "I.xml";  
  2. FileStorage fs(filename, FileStorage::WRITE);  
  3. \\...  
  4. fs.open(filename, FileStorage::READ);  


文件关闭操作会在FileStorage结构销毁时自动进行,但也可调用如下函数实现

  1. fs.release();  

 

2.文本和数字的输入和输出

写入文件使用  <<  运算符,例如:

  1. fs << "iterationNr" << 100;  


读取文件,使用 >> 运算符,例如

  1. int itNr;  
  2. fs["iterationNr"] >> itNr;  
  3. itNr = (int) fs["iterationNr"];  


3. OpenCV数据结构的输入和输出,和基本的C++形式相同

  1. Mat R = Mat_<uchar >::eye (3, 3),  
  2. T = Mat_<double>::zeros(3, 1);  
  3. fs << "R" << R; // Write cv::Mat  
  4. fs << "T" << T;  
  5. fs["R"] >> R; // Read cv::Mat  
  6. fs["T"] >> T;  



4. vector(arrays) 和 maps的输入和输出 vector要注意在第一个元素前加上“[”,在最后一个元素前加上"]"。例如:

  1. fs << "strings" << "["// text - string sequence  
  2. fs << "image1.jpg" << "Awesomeness" << "baboon.jpg";  
  3. fs << "]"// close sequence  


对于map结构的操作使用的符号是"{"和"}",例如:

  1. fs << "Mapping"
     1/8    1 2 3 4 5 6 下一页 尾页
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自OpenCV学习笔记(六)——对XML和YAML文件实现I/O操作

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]