OpenCv xml读写

#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",0,CV_STORAGE_WRITE);  
    cvWriteComment(fs,"my data",1);  
    //开始写数据   
    cvStartWriteStruct(fs,"DATA",CV_NODE_MAP,0,cvAttrList(0,0));  
     
    //写入数据c数组   
    cvStartWriteStruct(fs,"c",CV_NODE_SEQ,0,cvAttrList(0,0));  
    cvWriteRawData(fs,c,3,"d");  
    cvEndWriteStruct(fs);  
    //写入单位矩阵mat   
    cvSave("mat.xml",mat);  
    //写入整型数据a   
    cvWriteInt(fs,"a",a);  
    //写入浮点型数据b   
    cvWriteReal(fs,"b",b);  
    cvStartWriteStruct(fs,"c",CV_NODE_SEQ,0,cvAttrList(0,0));  
    cvWriteRawData(fs,c,3,"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",0,CV_STORAGE_READ);  
    readbyname = (CvMat *)cvReadByName(fs_read,NULL,"mat",NULL);  
    mat_node = cvGetFileNodeByName(fs_read,NULL,"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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值