OpenCv xml读写
发布时间:2020-12-16 06:03:15 所属栏目:百科 来源:网络整理
导读:#include "highgui.h" #include "cv.h" #include iostream #include iomanip #pragma comment(lib,"cv.lib")#pragma comment(lib,"cvaux.lib")#pragma comment(lib,"cxcore.lib")#pragma comment(lib,"highgui.lib")using namespace std; int main(void) { i
#include "highgui.h" #include "cv.h" #include <iostream> #include <iomanip> #pragma comment(lib,"cv.lib") #pragma comment(lib,"cvaux.lib") #pragma comment(lib,"cxcore.lib") #pragma comment(lib,"highgui.lib") using namespace std; int main(void) { int a=1; float b=2.; double c[]={4.5,6.7,8.9}; CvMat *mat=cvCreateMat(3,3,CV_32SC1); cvSetIdentity(mat);//初始化这个矩阵 CvFileStorage *fs=cvOpenFileStorage("test.xml",CV_STORAGE_WRITE); cvWriteComment(fs,"my data",1); //开始写数据 cvStartWriteStruct(fs,"DATA",CV_NODE_MAP,cvAttrList(0,0)); //写入数据c数组 cvStartWriteStruct(fs,"c",CV_NODE_SEQ,0)); cvWriteRawData(fs,c,"d"); cvEndWriteStruct(fs); //写入单位矩阵mat cvSave("mat.xml",mat); //写入整型数据a cvWriteInt(fs,"a",a); //写入浮点型数据b cvWriteReal(fs,"b",b); cvStartWriteStruct(fs,"d"); cvEndWriteStruct(fs); cvEndWriteStruct(fs); cvReleaseFileStorage(&fs); cvReleaseMat(&mat); /**********读取XML***********/ int i,j; CvMat *readbyname,*readbynode; CvFileNode *mat_node;//文件结点 CvFileStorage *fs_read=NULL;//文件存储 fs_read=cvOpenFileStorage("mat.xml",CV_STORAGE_READ); readbyname = (CvMat *)cvReadByName(fs_read,NULL,"mat",NULL); mat_node = cvGetFileNodeByName(fs_read,"mat"); readbynode = (CvMat *)cvRead(fs_read,mat_node); for (i=0;i<3;i++) { for (j=0;j<3;j++) { cout<<CV_MAT_ELEM(*readbynode,int,i,j); } cout<<endl; } cvReleaseFileStorage(&fs_read); cvReleaseMat(&readbynode); cvReleaseMat(&readbyname); return 0; //比较简单的一种应用为:cvSave("fileName",cvMat); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |