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]
重点:
- 矩阵读取时代码不能写成如下形式(类型无法转换,无法编译)
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"]
最后放一下运行结果:
C 怎么读取Cpp文件_opencv从yaml文件中读取矩阵(c++)相关推荐
- Opencv——写入或读取数据到XML或YAML文件
什么是XML.YAML文件 XML(eXtensible Markup Language)是一种元标记语言.所谓"原标记",就是开发者可以根据自身需要定义的标记,任何满足XML命名 ...
- navicat运行db文件_使用 YAML 文件配置 Jenkins 流水线
本文转载自:Jenkins 中文社区 这也是一种自定义流水线 DSL 的方法 几年前,我们的 CTO 写了一篇关于 使用 Jenkins 和 Docker 为 Ruby On Rails 应用提供持续 ...
- yaml文件里引用yaml文件
a.yaml文件内容: a: 1 b: - 2 - 3 c: !include b.yaml b.yaml文件内容: - 10 - [100, 200, 300] python代码 # 基于类的解决方 ...
- matlab中读文件的行数_Matlab中读取txt文件的几种方法
Matlab中读取txt文件的几种方法 一.纯数据文件(没有字母和中文,纯数字) 对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为"17.901 -1.1 ...
- python读取多行json_如何在Python中读取包含多个JSON对象的JSON文件?
所以这是在python中读取JSON文件的标准方法 import json from pprint import pprint with open('ig001.json') as data_file ...
- java读文件几种方式_java中读取文件的方式有哪几种
java中读取文件的方式有哪几种 发布时间:2020-06-19 13:36:48 来源:亿速云 阅读:135 作者:鸽子 读取文件有多种方式,基于传统的输入流方式或基于nio的Buffer缓冲对象和 ...
- matlab分析xml文件_如何在Java中读取XML文件(DOM分析器)
matlab分析xml文件 Today we will learn how to read the XML file in Java. We will also learn how to parse ...
- 打包部署后无法读取jar包里的文件(实测可行,Java中读取jar包中的文件)
打包部署后无法读取jar包里的文件 Java中读取jar包中的文件 linux中无法读取jar包中的内容(windows可以的!),如何解决 一.背景 项目中免不了需要读取文件,如果文件用绝对路径读取 ...
- java读取hadoop数据_从Hadoop URL中读取数据_hadoop 数据读取_hadoop读取文件
3.5 Java接口 在本小节,我们要深入探索Hadoop的Filesystem类:与Hadoop的文件系统交互的API. 虽然我们主要关注的是HDFS的实现DistributedFileSyste ...
最新文章
- Facebook爆锤深度度量学习:该领域13年来并无进展!网友:沧海横流,方显英雄本色...
- 视频直播/远程会议中的AI关键技术探索应用
- 2012年第一篇博文——致谢:2011年中国IT十大杰出博客获奖感言
- xml语言与html,XML与HTML的分析处理
- php 打乱数组顺序_PHP实现大转盘抽奖算法
- Open vSwitch 概述
- 中职计算机应用基础微课获奖视频,浅谈微课在中职计算机应用基础教学中的应用...
- poj 1986 Distance Queries LCA
- 创新工场面试题——输出螺旋矩阵
- 企业微信应用设置可信域名_企业微信更新版本 全平台内容可设置成英文
- PSS E v33.40 1CD(大型电力系统仿真计算软件)
- ElasticSearch
- 使用QT绘图控件QCustomPlot绘制波形图
- 左程云 Java 笔记--图
- 检查dota2服务器是否在线,dota2服务器ping测试脚本分享
- linux系统重装win10系统不用u盘,win10不用u盘怎么重装系统
- 像素、英寸、厘米之间的换算关系
- 如何通过Matplotlib画圆
- python函数体里的if...else...与return语句
- (自用随笔)PAT A1010
热门文章
- java实现无序数组结构
- 1.10-linux三剑客之sed命令详解及用法
- Python中集合(set)的操作及一些比较常见的用法
- Android2.2 API 中文文档系列(3) —— AccessibilityService
- js 数组遍历for..in弊端
- smarty二维foreach示例[顺代一维数组],再次加强版
- 通才与专家_那么您准备聘请数据科学家了吗? 通才还是专家?
- 数据分析 绩效_如何在绩效改善中使用数据分析
- 1816. 截断句子
- 查找满足断言的第一个元素