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.读操作:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491193.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“用手机就能访问卫星” 软件定义升级卫星智能

▲“天智一号”是全球首颗实际开展工程研制并发射的软件定义卫星。软件所供图来源&#xff1a; 中国科学报▲专家学者探讨开源、开放的航天生态环境。沈春蕾摄“假设未来30年将发射10万颗&#xff0c;这些卫星该怎么造、怎么算、怎么用&#xff1f;”在日前召开的2019软件定义卫…

python的print函数输出带颜色字体

格式&#xff1a;print(\033[显示方式&#xff1b;前景色&#xff1b;背景色m 需要显示的文字 \033[0m) 其中"\033[显示方式&#xff1b;前景色&#xff1b;背景色m"是开头部分&#xff0c;"\033[0m"是结尾部分 说明&#xff1a; 开头部分有三个参数&…

libevent: linux安装libevent

http://libevent.org/上下载最新的libevent&#xff0c; 如 libevent-2.0.22-stable.tar.gz。 然后解压&#xff0c;按照README里面的步骤安装。 转载于:https://www.cnblogs.com/mylinux/p/5200849.html

OpenCV学习笔记(五):线性滤波-方框、均值、高斯:boxFilter(),blur(),GaussianBlur()

OpenCV学习笔记&#xff08;五&#xff09;&#xff1a;线性滤波-方框、均值、高斯&#xff1a;boxFilter(),blur(),GaussianBlur() 线性滤波&#xff1a;即多个信号之和的响应和它们各自响应之和相等。 参考&#xff1a; https://blog.csdn.net/poem_qianmo/article/details/…

NB-IoT与LoRa,两马领跑物联网竞赛,谁将最终胜出?

来源&#xff1a;电子工程专辑HS Markit报告指出&#xff0c;曾经广泛开放的LPWAN市场领域开始明显紧缩&#xff0c;不过仍处于初期发展阶段。2018年只有1.5亿个LPWAN链路被布署&#xff0c;到2023年NB-IoT与LoRa可望占据所有LPWAN链路的86%......根据市场研究机构IHS Markit发…

pytorch实现数据增强的原理

pytorch的数据增强功能并非是事先对整个数据集进行数据增强处理&#xff0c;而是在从dataloader中获取训练数据的时候(获取每个epoch的时候)才进行数据增强。 举个例子&#xff0c;如下面的数据增强代码&#xff1a; transform_train transforms.Compose([transforms.Random…

【全文】Libra回应质疑:Facebook将放弃控制权,不与主权货币竞争

Facebook的全球数字货币计划Libra遭到多方抨击质疑之后&#xff0c;将于明日直面国会听证会。目前Facebook能否发行数字货币&#xff0c;悬于监管机构的许可决定&#xff0c;而这也会成为数字货币命运的一个重要转折点。Libra项目的负责人David Marcus提前发布了他的证词。硅星…

Git从零教你入门(4):Git服务之 gogs部署安装

Git从零入门系列4:先看上一篇文章&#xff1a;http://www.51testing.com/index.php?uid-497177-action-viewspace-itemid-3706817今日主题&#xff1a;gogs安装部署环境&#xff1a;centos安装包地址&#xff1a;https://dl.gogs.io/gogs_v0.8.25_linux_amd64.zip部署步骤&…

OpenCV学习笔记(六):非线性滤波-中值、双边:medianBlur(),bilateralFilter()

OpenCV学习笔记&#xff08;六&#xff09;&#xff1a;非线性滤波-中值、双边&#xff1a;medianBlur(),bilateralFilter() 1、中值滤波&#xff08;Median filter&#xff09; 是一种典型的非线性滤波技术&#xff0c;基本思想是用像素点邻域灰度值的中值来代替该像素点的灰…

Batch Normalization原理及pytorch的nn.BatchNorm2d函数

下面通过举个例子来说明Batch Normalization的原理&#xff0c;我们假设在网络中间经过某些卷积操作之后的输出的feature map的尺寸为4322&#xff0c;4为batch的大小&#xff0c;3为channel的数目&#xff0c;22为feature map的长宽 整个BN层的运算过程如下图&#xff1a; 上…

JSP简单练习-获取表单数据

在JSP中&#xff0c;server端程序与client交互最经常使用的方法就是採用表单提交数据。表单提交的方法主要有两种&#xff0c;一种是get方法。还有一种是post方法。两者最大的差别&#xff1a;使用get方法提交的数据会显示在浏览器的地址栏中&#xff0c;而post方法则不会显示&…

OpenCV学习笔记(八):形态学morpholgy(2):开/闭运算,形态学梯度、顶帽/黑帽morphologyEx()

OpenCV学习笔记&#xff08;八&#xff09;&#xff1a;形态学morpholgy(2)&#xff1a;开、闭运算&#xff0c;形态学梯度、顶帽、黑帽&#xff1a;morphologyEx() 数学形态学&#xff08;Mathematical morphology&#xff09; 是一门建立在格论和拓扑学基础之上的图像分析学…

PPT将图片变为平行四边形形状

点击图片→ 格式→ 旋转→ 其它旋转选项→ 三维旋转

“人工智能之父”艾伦·图灵登上英国50英镑新钞

图源&#xff1a;BBC来源&#xff1a;海外网海外网7月15日电英国广播公司&#xff08;BBC&#xff09;报道&#xff0c;“计算机科学和人工智能之父”艾伦图灵登上英国50英镑新钞。此前有媒体报道称&#xff0c;英格兰银行计划于2020年推出新版50英镑&#xff0c;用更耐磨的聚合…

PPT将立方体形状变为很薄的长方体

方法是选中立方体&#xff0c;调节箭头所示的黄色节点&#xff0c;即可调节立方体的厚度&#xff1a;

老李谈HTTP1.1的长连接

老李谈HTTP1.1的长连接 poptest是国内唯一一家培养测试开发工程师的培训机构&#xff0c;以学员能胜任自动化测试&#xff0c;性能测试&#xff0c;测试工具开发等工作为目标。如果对课程感兴趣&#xff0c;请大家咨询qq&#xff1a;908821478&#xff0c;咨询电话010-84505200…

OpenCV学习笔记(七):形态学morpholgy(1):腐蚀/膨胀:enrode(),dilate()

OpenCV学习笔记&#xff08;七&#xff09;&#xff1a;形态学(morpholgy)&#xff1a;腐蚀/膨胀&#xff1a;enrode(),dilate() 数学形态学&#xff08;Mathematical morphology&#xff09; 是一门建立在格论和拓扑学基础之上的图像分析学科&#xff0c;是数学形态学图像处理…

【中台】“中台”概念究竟是什么?制造业企业需要拥抱吗?

来源&#xff1a;中国电子报“忽如一夜春风来&#xff0c;千树万树梨花开。” 这首诗形容当前“中台”概念的风靡非常恰当。IT圈里不乏新的概念、新的“网红”&#xff0c;如今&#xff0c;“中台”一词占据了C位&#xff0c;成为软硬件企业尤其是互联网企业在各大演讲中经常挂…

PPT立方体三面同色

我们知道PPT插入的立方体有一面的颜色比其它两面深一点&#xff0c;例如我插入一个立方体&#xff0c;并将其填充为白色&#xff1a; 可以看到有一面并不是白色&#xff0c;而是灰色。但如果我需要的是三面都为白色的立方体呢&#xff1f; 这时可以插入一个平行四边形&#xf…

OpenCV学习笔记(九): 漫水填充:floodFill()

OpenCV学习笔记&#xff08;九&#xff09;&#xff1a; 漫水填充&#xff1a;floodFill() 定义&#xff1a; 漫水填充法是一种用特定的颜色填充联通区域&#xff08;自动选中了和种子点相连的区域&#xff0c;接着将该区域替换成指定的颜色&#xff09;通过设置可连通像素的上…