14 opencv读取XML
https://blog.csdn.net/A_L_A_N/article/details/83272772
FileStorage类
FileStorage类将各种OpenCV数据结构的数据存储为XML或YML格式。
构造函数:cv::FileStorage(const string& source, int flags, const string& encoding=string());
参数说明:
source:存储或读取数据的文件名(字符串),其扩展名(.xml 或 .yml或者.yaml)决定文件格式。
flags:操作方式,包括:FileStorage::READ、FileStorage::WRITE、FileStorage::APPEND。
encoding:编码方式,用默认值就好。
写xml/ymal文件:
#include<iostream>
#include<opencv2/opencv.hpp> using namespace std;
using namespace cv; void main()
{
//标定结果保存
FileStorage fs("caliResult.xml", FileStorage::WRITE); int cameraId = 0;
Mat intrMatrix = (Mat_<double>(3, 3) << 7.7881772950073355e+002, 0, 3.1562441595543476e+002, 0, 7.8624564811643825e+002, 2.5630331974129393e+002, 0, 0, 1);
Mat distCoeffs = (Mat_<double>(1, 5) << -7.2660835182078581e-002, 2.0765291395491934e+000, 5.9477659924542790e-004, -8.2981148319346263e-004, -7.0307616798578119e+000); fs << "cameraId" << cameraId;
fs << "intrinsic_parameters" << intrMatrix;
fs << "distortion_parametes" << distCoeffs; fs.release();
}
保存的.xml文件:
<?xml version="1.0"?>
<opencv_storage>
<cameraId>0</cameraId>
<intrinsic_parameters type_id="opencv-matrix">
<rows>3</rows>
<cols>3</cols>
<dt>d</dt>
<data>
7.7881772950073355e+02 0. 3.1562441595543476e+02 0.
7.8624564811643825e+02 2.5630331974129393e+02 0. 0. 1.</data></intrinsic_parameters>
<distortion_parametes type_id="opencv-matrix">
<rows>1</rows>
<cols>5</cols>
<dt>d</dt>
<data>
-7.2660835182078581e-02 2.0765291395491934e+00
5.9477659924542790e-04 -8.2981148319346263e-04
-7.0307616798578119e+00</data></distortion_parametes>
</opencv_storage>
读xml/ymal文件:
#include<iostream>
#include<opencv2/opencv.hpp> using namespace std;
using namespace cv; void main()
{
//FileStorage fs("caliResult.xml",FileStorage::READ);
FileStorage fs;
fs.open("caliResult.xml",FileStorage::READ);
if(!fs.isOpened())
{
return;
} int cameraId;
Mat intrMatrix(3,3,CV_64F);
Mat distCoeffs(5,1,CV_64F); fs["cameraId"]>>cameraId;
fs["intrinsic_parameters"]>>intrMatrix;
fs["distortion_parametes"]>>distCoeffs; fs.release();
}
14 opencv读取XML的更多相关文章
- OpenCV 读取.xml文件
OpenCV 只提供了读取和存储.xml和.yml 文件格式的函数. 读取.xml文件的C++例程如下: cv::FileStorage fs; //OpenCV 读XML文件流 cv::Mat De ...
- C#中常用的读取xml的几种方法(转)
本文完全来源于http://blog.csdn.net/tiemufeng1122/article/details/6723764,仅作个人学习之用. XML文件是一种常用的文件格式,例如WinFor ...
- PHP读取XML
books.xml文件: 代码 <books> <book> <author>Jack Herrington</author> <title> ...
- 在C#中创建和读取XML文件
1.创建简单的XML文件 为了便于测试,我们首先创建控制台应用程序,项目命名为CreateXml,Program.cs代码如下: 这样会在C盘根目录下创建data2.xml文件,文件内容为 using ...
- C#读取Xml【转】
XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影.Xml是Internet环境中跨平台的,依赖 ...
- 【XML配置文件读取】使用jdom读取XML配置文件信息
在项目中我们经常需要将配置信息写在配置文件中,而XML配置文件是常用的格式. 下面将介绍如何通过jdom来读取xml配置文件信息. 配置文件信息 <?xml version="1.0& ...
- 【java开发系列】— JDOM创建、改动、删除、读取XML文件
有非常多中操作XML文件的方法,这里介绍一下JDOM的用法和技巧. JDOM下载地址 创建XML文档 XML文件是一种典型的树形文件,每一个文档元素都是一个document元素的子节点. 而每一个子元 ...
- 第一周:读取XML深度数据并将其重建为三维点云
本周主要任务:学习PCL点云库,掌握利用PCL对点云处理的方法 任务时间:2014年9月1日-2014年9月7日 任务完成情况:完成了读取单幅xml深度数据,并重建三维点云并显示 任务涉及基本方法: ...
- (转) 读取xml文件转成List<T>对象的两种方法
读取xml文件,是项目中经常要用到的,所以就总结一下,最近项目中用到的读取xml文件并且转成List<T>对象的方法,加上自己知道的另一种实现方法. 就以一个简单的xml做例子. xml格 ...
随机推荐
- matlab练习程序(读取列不一致的数据)
通常情况我们使用matlab载入数据时,使用load或importdata函数基本就能满足需求. 不过如果数据列是不一致的,又不想读数据的时候每一行去遍历,那么可以使用textscan这个函数. 比如 ...
- xml模块(了解)
目录 一.xml简介 二.Python使用xml 三.自己创建xml文档 一.xml简介 xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在 ...
- Node 之 Express 4x 骨架详解
周末,没事就来公司加班继续研究一下Express ,这也许也是单身狗的生活吧. 1.目录结构: bin, 存放启动项目的脚本文件 node_modules, 项目所有依赖的库,以及存放 package ...
- 疑问:Spring 中构造器、init-method、@PostConstruct、afterPropertiesSet 孰先孰后,自动注入发生时间
一.前言 spring的一大优点就是扩展性很强,比如,在spring bean 的生命周期中,给我们预留了很多参与bean 的生命周期的方法.大致梳理一下,有以下几种: 通过实现 Initializi ...
- laravel项目本地数据库连接错乱原因和解决方法
由于在本地建了两个laravel项目,test.me 和 api-test.me,当我在 test.me 中调用 curl 去请求 api-test.me 的方法,试图获取数据时, 接口一直返回没有找 ...
- .net core程序强制以管理员权限启动
当我们编写windows程序的时候,很多时候需要程序默认以管理员权限运行,以前在.net 程序中直接新建一个app.manifest,设置requestedExecutionLevel 节点即可 &l ...
- python 对Unicode解码
打印: print('我喜欢你'.encode('unicode_escape')) 得到Unicode编码: b'\\u6211\\u559c\\u6b22\\u4f60 将上面的编码赋值给str后 ...
- 对Python中函数参数类型及排序问题,三个方面的总结
Python中函数的参数问题有点复杂,主要是因为参数类型问题导致的情况比较多,下面来分析一下. 参数类型:缺省参数,关键字参数,不定长位置参数,不定长关键字参数. 其实总共可以分为 位置参数和关键字参 ...
- JavaWeb之JSP & EL & JSTL
JSP & EL & JSTL JSP Java Server Page 什么是JSP 从用户角度看,就是一个网页.从程序员角度看,就是一个Java类,它继承Servlet,所以可以说 ...
- 浅谈Vue下的components模板
浅谈Vue下的components模板在我们越来越深入Vue时,我们会发现我们对HTML代码的工程量会越来越少,今天我们来谈谈Vue下的 components模板的 初步使用方法与 应用 我们先来简单 ...