Opencv的XML文件的读取操作
2015-08-28 22:57
337 查看
#include<time.h> #include<opencv2/opencv.hpp> #include<vector> using namespace std; using namespace cv; int main() { //改变背景的颜色 system("color 6F"); //定义该操作的类,定义为读取的模式 FileStorage fs2("test.doc", FileStorage::READ); //从文件中读取 //将名字为"frameCount"的文件 存到变量frameCount中 int frameCount = static_cast<int>(fs2["frameCount"]); //将名字为"calibrationData"的文件 存到变量data中 string data; fs2["calibrationData"] >> data; //将名字为"cameraMatrix"的文件 存到变量cameraMatrix中 Mat cameraMatrix; fs2["cameraMatrix"] >> cameraMatrix; //将名字为"distCoeffs"的文件 存到变量cameraMatrix中 Mat distCoeffs; fs2["distCoeffs"] >> distCoeffs; //下面读取向量 //先得到向量的节点 features,然后遍历节点 FileNode features = fs2["features"]; //用节点遍历元素,并且显示 FileNodeIterator it = features.begin(); FileNodeIterator itend = features.end(); vector<uchar> lbpval; int arrayValue = 0; for (; it != itend; it++, arrayValue++) { cout << "features #" << arrayValue << ": "; cout << "x = " << (int)(*it)["x"] << ", y = " << (int)(*it)["y"] << ", lbp: ("; //将名字为 "lbp" 的文件 存到变量lbpval中 (*it)["lbp"] >> lbpval; //显示向量中的数据 for (int i = 0; i < (int)lbpval.size(); i++) { cout << " " << (int)lbpval[i]; } cout << ")" << endl; } //输出文件中的数据 cout << "帧数" << frameCount << endl; cout << "现在的日期是:" << data << endl; cout << "输出第一个矩阵:" << cameraMatrix << endl; cout << "输出第二个矩阵:" << distCoeffs << endl; fs2.release(); return 0; }
相关文章推荐
- 【转自EMC中文支持论坛】Linux系统SCSI磁盘扫描机制解析及命令实例
- VDI优化之Windows 7关闭Aero并强制使用特定主题
- 人脸检测——基于OpenCV等开源库
- Linux内核工程导论——进程
- Linux内核工程导论——基础架构
- 希尔排序(shell)
- UVA821 PageHopping (Floyd)
- Linux下文件字符集编码转换
- 亿级用户下的新浪微博平台架构
- Linux的timerfd分析
- 树莓派deian的linux常用命令
- Linux 基础命令
- 12个Linux进程管理命令介绍
- Shell 脚本面试问题大全
- 一个Linux中用于监控的简易shell脚本
- [Fatal Error] :3:13: Open quote is expected for attribute "{1}" associated with an element type "id".
- MySQL 高可用浅析
- 运维规范:执行写入操作时,一定不要开两个分别连入不同主机的securCRT窗口
- Linux启动管理-系统修复模式
- NanoProfiler - 适合生产环境的性能监控类库 之 实践ELK篇