cvSave函数

功能:将一个对象保存到一个文件。

 

函数形式: 

void cvSave

(

const char * filename,

const void * struct_ptr,

const char * name = NULL,

const char * comment = NULL,

CvAttrList attributes = cvAttrList()

)

 

参数列表

filename :文件的名字及路径。

 

struct_ptr:要保存的对象,该对象指向的值必须是常量。const void *struct_ptr定义了一个指针struct_ptrstruct_ptr可以指向任意类型的值,但它指向的值必须是常量

 

name:用于给所保存的对象的元素节点命名默认为NULL,名称自动由文件名形成 XML文档中的每个成分都是一个节点。每个 XML标签是一个元素节点包含在 XML元素中的文本内容是文本节点cvSave将对象保存在文本节点中,文本节点包含在元素节点下,name参数用于给该元素节点命名

 

comment:用于给元素节点注释,写在元素节点之前。不需要注释时则令它为NULL

 

attributes传递给cvWrite的额外的参数,用于定义对象的属性。默认为NULL

程序应用示例:

#include "cv.h"  

#include "cxcore.h"  

#include "stdio.h"  

 

int main()

{

float val[] = { 1,2,3, 4,5,6,7,8,9 };//首先定义好待存入矩阵的数据  

CvMat A = cvMat(3, 3, CV_32FC1, val);//创建一个32位浮点数,单通道矩阵  

cvSave("my_matrix.xml", &A); //保存矩阵元素为xml  

CvMat *Al = (CvMat *)cvLoad("my_matrix.xml");

for (int i = 0; i<Al->rows; i++)    //显示矩阵元素  

{

//首先获得指向矩阵数组的每行数据的指针ptr  

const float *ptr = (float *)(Al->data.ptr + i * Al->step);

 

for (int j = 0; j<Al->cols; j++)//通过ptr指针,依次取出矩阵元素  

printf("%.f  ", *ptr++);

}

return 0;

}

 

 

 

输出结果:

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值