【OpenCV学习】XML的读写

简介: 作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/   #include "highgui.h" #include "cv.h" #include #include using namespace std; int main(void) { int a=1; float b=2.

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/

 

#include "highgui.h"
#include "cv.h"
#include <iostream>
#include <iomanip>
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;
}

作者:gnuhpc
出处:http://www.cnblogs.com/gnuhpc/


               作者:gnuhpc
               出处:http://www.cnblogs.com/gnuhpc/
               除非另有声明,本网站采用知识共享“署名 2.5 中国大陆”许可协议授权。


分享到:

目录
相关文章
|
11天前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
27 1
|
4月前
|
XML Java 数据格式
Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)
Spring5系列学习文章分享---第一篇(概述+特点+IOC原理+IOC并操作之bean的XML管理操作)
41 1
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
OpenCV与AI深度学习之常用AI名词解释学习
AGI:Artificial General Intelligence (通用人工智能):是指具备与人类同等或超越人类的智能,能够表现出正常人类所具有的所有智能行为。又被称为强人工智能。
106 2
|
3月前
|
计算机视觉 Python
opencv 处理图像去噪的几种方法学习
OpenCV 提供了多种图像去噪的方法,以下是一些常见的去噪技术以及相应的 Python 代码示例: 均值滤波:使用像素邻域的灰度均值代替该像素的值。
38 0
|
4月前
|
机器学习/深度学习 开发框架 TensorFlow
### 如何系统化学习OpenCV4
### 如何系统化学习OpenCV4
35 0
|
4月前
|
存储 计算机视觉
OpenCV3.1中读写图像与读写像素
OpenCV3.1中读写图像与读写像素
23 0
|
5月前
|
算法 计算机视觉 Python
【OpenCV】-算子(Sobel、Canny、Laplacian)学习
【OpenCV】-算子(Sobel、Canny、Laplacian)学习
|
5月前
|
存储 计算机视觉
OpenCV—学习基本绘图
OpenCV—学习基本绘图
|
28天前
|
算法 计算机视觉
opencv图像形态学
图像形态学是一种基于数学形态学的图像处理技术,它主要用于分析和修改图像的形状和结构。
34 4
|
8天前
|
存储 计算机视觉
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制
本文介绍了使用OpenCV进行图像读取、显示和存储的基本操作,以及如何绘制直线、圆形、矩形和文本等几何图形的方法。
Opencv的基本操作(一)图像的读取显示存储及几何图形的绘制

相关课程

更多
下一篇
无影云桌面