OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作
OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作
一、Write_XML_and_YAML_File(写入XML)
#include <opencv2/opencv.hpp>
#include <time.h>using namespace cv;int main()
{// 1、准备文件写操作FileStorage fs("F:/C++/2. OPENCV 3.1.0/TEST/test.txt", FileStorage::WRITE);// 2、开始文件写入fs << "frameCount" << 5;// 3、写入时间time_t rawtime; // 64-bit time valuetime(&rawtime);fs << "calibrationDate" << asctime(localtime(&rawtime));// 4、写入矩阵Mat cameraMatrix = (Mat_<double>(3, 3) << 1000, 0, 320, 0, 1000, 240, 0, 0, 1);Mat distCoeffs = (Mat_<double>(5, 1) << 0.1, 0.01, -0.001, 0, 0);fs << "cameraMatrix" << cameraMatrix << "distCoeffs" << distCoeffs;fs << "features" << "[";// 5、写入随机数for (int i = 0; i < 3; i++){int x = rand() % 640; // 生成 640 随机数 xint y = rand() % 480; // 生成 640 随机数 yfs << "{:" << "x" << x << "y" << y << "lbp" << "[:";uchar lbp = rand() % 256; // 生成 256以内 随机数 lbp//fs << "lbp" <<i<<lbp;for (int j = 0; j < 8; j++)fs << ((lbp >> j) & 1); // lbp 值右移 j 位(位运算)fs << "]" << "}";}fs << "]";fs.release();printf("\n文件读写完毕,请在工程目录下查看生成的文件~");getchar();return 0;
}
运行结果:
1.写操作
二、Read_XML_and_YAML_File(读取XML)
#include <opencv2/opencv.hpp>
#include <time.h>using namespace cv;int main()
{// 1、准备文件读操作FileStorage fs2("F:/C++/2. OPENCV 3.1.0/TEST/test.yaml", FileStorage::READ);// 2、第一种方法,对FileNode操作(节点操作)// 获取整型数字int frameCount = (int)fs2["frameCount"];std::string date;// 3、第二种方法,使用FileNode运算符> >// 获取字符串fs2["calibrationDate"] >> date;// 4、获取矩阵Mat cameraMatrix2, distCoeffs2;fs2["cameraMatrix"] >> cameraMatrix2;fs2["distCoeffs"] >> distCoeffs2;// 5、控制台输出cout << "frameCount: " << frameCount << endl<< "calibration date: " << date << endl<< "camera matrix: " << cameraMatrix2 << endl<< "distortion coeffs: " << distCoeffs2 << endl;// 6、声明文件节点迭代器FileNode features = fs2["features"];FileNodeIterator it = features.begin(), it_end = features.end();std::vector<uchar> lbpval;// 7、使用FileNodeIterator遍历序列for(int idx = 0 ; it != it_end; ++it, idx++ ){cout << "feature #" << idx << ": ";cout << "x=" << (int)(*it)["x"] << ", y=" << (int)(*it)["y"] << ", lbp: (";// 我们也可以使用使用filenode > > std::vector操作符很容易的读数值阵列(*it)["lbp"] >> lbpval;// 读取数组// 根据 lbpval.size() 读取数组lbpfor( int i = 0; i < (int)lbpval.size(); i++ )cout << " " << (int)lbpval[i];cout << ")" << endl;}fs2.release();//程序结束,输出一些帮助文字printf("\n文件读取完毕,请输入任意键结束程序~");getchar();return a.exec();
}
2.读操作:
OpenCV学习笔记(四):XML,YAML(.txt,.doc)文件读写操作相关推荐
- OpenCV学习笔记四-image的一些整体操作
title: OpenCV学习笔记四-image的一些整体操作 categories: 编程 date: 2019-08-08 12:50:47 tags: OpenCV image的一些操作 sP4 ...
- C++学习笔记(六)输入输出与文件读写
一.输入输出相关的类 对以上数据流相关类的解读: istream用于输入的流类,cin是这类的对象 ostream用于输出的流类,cout是这类的对象 ifstream 用于文件读取数据的流类 ofs ...
- Opencv学习笔记四——图像形态学操作
需要的库和自定义函数 import cv2 import numpy as np import matplotlib.pyplot as pltdef cv_show(name, mat):cv2.i ...
- Laravel学习笔记四-数据库迁移和模型文件
本节将学习使用artisan命令数据库迁移建表,模型文件的学习. 一.数据库迁移 二.模型文件 三.git checkout -f 命令应用 我们在开发中经常会遇到这样的情况,如果一个分支中提交了一个 ...
- OpenCV学习笔记:创建/分配图像、图像读写保存、图像像素点访问修改
环境:CentOS7 g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16) $ pkg-config --modversion opencv 2.4.13 以下程序的 ...
- Opencv学习笔记(三) -- 图像压缩与保存
1.图像压缩 1.1常用图像格式 bmp Windows位图格式.该格式为不压缩格式,缺点是图像文件较大. jpg JPEG是为静态图像所建立的第一个国际数字图像压缩标准,也是至今一直在使用的.应用最 ...
- OpenCV学习笔记(四十六)——FAST特征点检测features2D OpenCV学习笔记(四十七)——VideoWriter生成视频流highgui OpenCV学习笔记(四十八)——PCA算
OpenCV学习笔记(四十六)--FAST特征点检测features2D 特征点检测和匹配是计算机视觉中一个很有用的技术.在物体检测,视觉跟踪,三维常年关键等领域都有很广泛的应用.这一次先介绍特征点检 ...
- OpenCV学习笔记(一)(二)(三)(四)(五)
OpenCV学习笔记(一) 决心开始研究OpenCV.闲言少叙,sourceforge网站最近的版本是2011年8月的OpenCV2.3.1,下载安装,我这里使用的开发环境是vs2008,网上搜了一下 ...
- OpenCV学习笔记(四十一)——再看基础数据结构core OpenCV学习笔记(四十二)——Mat数据操作之普通青年、文艺青年、暴力青年 OpenCV学习笔记(四十三)——存取像素值操作汇总co
OpenCV学习笔记(四十一)--再看基础数据结构core 记得我在OpenCV学习笔记(四)--新版本的数据结构core里面讲过新版本的数据结构了,可是我再看这部分的时候,我发现我当时实在是看得太马 ...
最新文章
- 微软Azure AI负责人:OpenAI只能在微软云上训练模型,不懂中台
- 车道线检测(opencv)
- poj 1611 The Suspects // hoj 1564 The Suspects 并查集
- org manual翻译--2.1 大纲
- linux-5.12-rc1-dontuse
- python读取数据库数据、并保存为docx_Python - 爬取博客园某一目录下的随笔 - 保存为docx...
- 汉化:Blocs for Mac(可视化网页设计工具)4.5.0
- putty怎么进入文件夹_putty命令
- php mysql 博客,PHP操作MySQL
- oracle 12c ora 01033,ORA-01033: ORACLE initialization or shutdown in progress(12c中)
- itextpdf生成列表基本用法
- 大家说说有必要免费建网站吗?
- BIP63(隐身地址)
- Linux怎么运行lisp,Lisp - Ubuntu 中的编程语言_Linux编程_Linux公社-Linux系统门户网站...
- day08 系统篇端口扫描CDN服务负载均衡WAF防火墙
- 银行资产业务和负债业务
- F5 LTM 常用oid列表
- 企业微信可以转移员工名下的好友吗?
- 基于FPGA的数字密码锁电路设计(含程序)
- Word中的公式显示不全,或许是这个原因
热门文章
- java怎吗从磁盘读文件_编写一个Java应用程序,该程序使用FileInputStream类,实现从磁盘读取本应用程序源代码文件,并将文件内容显示在屏幕上。...
- 基本功 | Litho的使用及原理剖析
- 论文浅尝 | 用增强学习进行推理:问答与知识库完善(KBC)
- Pytorch与tensorflow模型转换
- Android官方开发文档Training系列课程中文版:动画视图之转场框架介绍
- 常用命令之------ln
- jsp内置对象(四)-----session对象
- RCC 2017 Qual 1 Mail.Ru, April 2, 2017 Problem B. Painting the Wall
- 《Cracking the Coding Interview》——第11章:排序和搜索——题目7
- 一个简单WCF项目的建立 by wsz