Opencv的XML文件的读取操作

来源:互联网 发布:c语言两条竖线运算 编辑:程序博客网 时间:2024/05/01 20:44
#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;}

0 0
原创粉丝点击