C 怎么读取Cpp文件_opencv从yaml文件中读取矩阵(c++)

PS:由于我是新手,因此记录的比较罗里吧嗦,本文也属于一个没有任何技术的编程积累。

在SLAM系统中,经常需要从配置文件中读取参数文件,读取整型,浮点型都是比较常见的操作,在读取矩阵卡了一下,记录一下读取的注意事项。

为此我写了一个测试文件,下面是各个文件的内容。

1.CMakeLists.txt文件

cmake_minimum_required(VERSION 2.8)
project(read_from_yaml)set( CMAKE_CXX_FLAGS "-std=c++11 -march=native -O3" )
############### OpenCV dependencies ######################
find_package( OpenCV 3 REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )add_executable(read_yaml_mat read_yaml_mat_test.cpp)
target_link_libraries(read_yaml_mat ${OpenCV_LIBS})

2.c++主文件(read_yaml_mat_test.cpp)

//
// Created by weihao on 2020/6/3.
//
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;// Main function
int main(int argc, char** argv)
{if(argc != 2){cerr << endl << "Usage: ./read_yaml_mat path_to_settings" << endl;return 1;}// read config filecv::FileStorage file_settings(argv[1], cv::FileStorage::READ);std::cout << "config file path: " << argv[1] << std::endl;// read camera instrincint test_data = file_settings["test_data"];std::cout << "test data :" << test_data << std::endl;// read bool valuebool test_bool;file_settings["test_bool"] >> test_bool;std::cout << "test_bool :" << test_bool << std::endl;// read OpenCV Matcv::Mat cam_k;file_settings["cam_k"] >> cam_k;std::cout << "camera instrinc matrix :" << std::endl << cam_k << std::endl;return 0;
}

3. 参数文件(read_mat.yaml)

%YAML:1.0
test_data: 10
test_bool: 0
cam_k: !!opencv-matrixrows: 3cols: 3dt:   udata: [6, 2, 2, 2, 6, 2, 2, 2, 6]

重点:

  1. 矩阵读取时代码不能写成如下形式(类型无法转换,无法编译)
 cv::Mat cam_k = file_settings["cam_k"]

2. 读取bool变量时代码也不能写成如下形式,同时要注意参数文件中bool变量用0/1表示,不能用true/false(true/false都会返回1)

 bool data_bool = file_settings["test_bool"]

最后放一下运行结果:

550ff56957f1c9c9515792d2f12015a3.png

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

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

相关文章

oracle中的判断大小,sql语句判断大小

如何用sql语句查看某个数据库中的表的大小--读取库中的所有表名select name from sysobjects where xtypeu--读取指定表的所有列名select name from syscolumns where id(select max(id) from sysobjects where xtypeu and name表名)获取数据库表名和字段sqlserver中各个系统表…

超越Android:探索Kotlin的应用领域

by Adam Arold亚当阿罗德(Adam Arold) 超越Android&#xff1a;探索Kotlin的应用领域 (Going beyond Android: exploring Kotlin’s areas of application) If you have written something in Kotlin, chances are that you wrote it for Android. Kotlin, however, has other…

3.SFB标准版前端安装

SFB服务器准备部分&#xff1a;1.修改服务器名称&#xff0c;sfb加入域&#xff0c;用域管理员账户登录2.配置服务器IP地址&#xff0c;DNS3.安装Windows组件Add-WindowsFeature NET-Framework-Core, RSAT-ADDS, Windows-Identity-Foundation, Web-Server, Web-Static-Content,…

向spark standalone集群提交任务

文档链接 #切换到spark安装目录,执行下面一条命令,192.168.0.10是master的ip, examples/src/main/python/pi.py 是python 文件的路径 ./bin/spark-submit --master spark://192.168.0.106:7077 examples/src/main/python/pi.py任务已经执行完毕,耗时10秒 转载于:https://www.c…

SQLite学习手册

一、聚合函数&#xff1a; SQLite中支持的聚合函数在很多其他的关系型数据库中也同样支持&#xff0c;因此我们这里将只是给出每个聚集函数的简要说明&#xff0c;而不在给出更多的示例了。这里还需要进一步说明的是&#xff0c;对于所有聚合函数而言&#xff0c;distinct关键字…

oracle全局索引 效率,关于插入,全局索引和局部索引的情况,那种效率高

分区表上的索引表可以按range&#xff0c;hash&#xff0c;list分区&#xff0c;表分区后&#xff0c;其上的索引和普通表上的索引有所不同&#xff0c;oracle对于分区表上的索引分为2类&#xff0c;即局部索引和全局索引&#xff0c;下面分别对这2种索引的特点和局限性做个总结…

python excelwriter保存路径_Python和Excel 终于可以互通了!!

点击“开发者技术前线”&#xff0c;选择“星标&#x1f51d;”在看|星标|留言, 真爱作者&#xff1a;小天真_5eed 链接&#xff1a;https://www.jianshu.com/p/6ecf414f3372今天为大家分享一篇使用python将大量数据导出到Excel中的技巧心得&#xff0c;可以让Python和Excel…

nodejs 调用微服务器_无服务器NodeJS:构建下一个微服务的快速,廉价方法

nodejs 调用微服务器by Filipe Tavares由Filipe Tavares 无服务器NodeJS&#xff1a;构建下一个微服务的快速&#xff0c;廉价方法 (Serverless NodeJS: the fast, inexpensive way to build your next microservice) I love Node.js. I’ve re-discovered Javascript through…

(蓝桥杯)2018JAVA B组 日志分析

日志统计 小明维护着一个程序员论坛。现在他收集了一份"点赞"日志&#xff0c;日志共有N行。其中每一行的格式是&#xff1a; ts id 表示在ts时刻编号id的帖子收到一个"赞"。 现在小明想统计有哪些帖子曾经是"热帖"。如果一个帖子曾在任意一个长…

MySQL 导出数据

2019独角兽企业重金招聘Python工程师标准>>> 1、导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 存放位置比如&#xff1a; mysqldump -u root -p project > c:/a.sql 2.导出一个表的结构&#xff0c;并且带表中的数据 mysqldump -u 用户名 -p 数据库名 …

哎 心好累

雨天后的周六还要上班&#xff0c;避开了所有上班的交通方式&#xff0c;没有比这更需要车的时候&#xff0c;哎&#xff0c;感觉心好累 好好努力买车吧&#xff0c;觉得再这样只能是徒劳了。 困得和傻逼一样 单片机又要换型号&#xff0c;后面一堆事儿&#xff0c;哎 再见-dsp…

Abbey加入了FreeCodeCamp团队,担任编辑

by Quincy Larson昆西拉尔森(Quincy Larson) Abbey加入了FreeCodeCamp团队&#xff0c;担任编辑 (Abbey is joining the freeCodeCamp team as an editor) Every article you’ve read here on the freeCodeCamp community Medium publication has been edited with care by a…

单片机STM8S测量电压电路_单片机电路设计中的10个难点

单片机是嵌入式系统的核心元件&#xff0c;使用单片机的电路要复杂得多&#xff0c;但在更改和添加新功能时&#xff0c;带有单片机的电路更加容易实现&#xff0c;这也正是电器设备使用单片机的原因。那么在单片机电路的设计中需要注意的难点有哪些&#xff1f;嵌入式ARM开发 …

oracle ebs 数据源,Oracle EBS环境下查找数据源(Form篇)

关于在Oracle EBS环境下如何查找数据源的文章几年前就已经开始整理&#xff0c;但是其中关于OAF方面的一直没有整理&#xff0c;导致这份文档一直残缺不全&#xff0c;有很多次同事都向我索要相关文档都未能如愿以偿&#xff0c;新的一届培训工作再次启动&#xff0c;为了自己也…

net-speeder

有的同学反映自己的***速度慢&#xff0c;丢包率高。这其实和你的网络服务提供商有关。据我所知一部分上海电信的同学就有这种问题。那么碰到了坑爹的网络服务商&#xff0c;我们应该怎么办呢&#xff1f; duangduang~~~~~~有请今天的主角&#xff1a;Net-Speeder登场&#xff…

linux 实用指令

通过init 来制定/切换不同的运行指令 查看linux 系统下&#xff0c;电脑的运行级别 vim /etc/inittab 如何找回丢失的root密码&#xff1f; 进入到单用户模式&#xff0c;然后修改root密码 进入到单用户模式&#xff0c;root不需要密码也可以登录 如果开机就是init 0 办法&…

Atitit.异步的实现模式attilax大总结

Atitit.异步的实现模式attilax大总结 1.1. 函数回调(包括的future模式)1 1.2. 事件机制( 包括定时器 listeners 1 1.3. 中断机制1 1.4. 订阅机制 发布/订阅 又称"观察者模式"&#xff08;observer pattern&#xff09;。1 1.5. Promises对象1 1.6. 轮询1 2. 实现级别…

区块链开发指南_区块链开发权威指南

区块链开发指南by Haseeb Qureshi由Haseeb Qureshi 区块链开发权威指南 (The authoritative guide to blockchain development) Cryptocurrencies, ICOs, magic internet money — it’s all so damn exciting, and you, the eager developer, want to get in on the madness.…

【BZOJ1831】[AHOI2008]逆序对(动态规划)

【BZOJ1831】[AHOI2008]逆序对&#xff08;动态规划&#xff09; 题面 BZOJ洛谷 题解 显然填入的数拎出来是不降的。 那么就可以直接大力\(dp\)。 设\(f[i][j]\)表示当前填到了\(i\)&#xff0c;上一个填的数是\(j\)的最小逆序对数。 随便拿什么维护一下转移就好了。 #include&…

chrome控制台如何把vw显示成px_【CSS】rem,em,px的区别和使用场景

前端潮咖点击上面蓝字&#xff0c;关注我们&#xff01;关注关注前端潮咖&#xff0c;每日精选好文作者&#xff1a;大前端小菜鸟来源&#xff1a;cnblogs.com/hyns/p/12380944.html作rem布局原理深度理解(以及em/vw/vh)一、前言我们h5项目终端适配采用的是淘宝那套《Flexible实…