Basic Classes For Slam C++ developers

9 篇文章 0 订阅

SLAM C++开发可能用到的一些基础类。其中包含读取yaml文件,读取配置文件,处理各种异常等。
项目地址1:https://github.com/XieShuaiCn/BasicClassesForSLAM
项目地址2:https://gitee.com/hrrcn/BasicClassesForSLAM
如果喜欢这段代码,记得给个star,谢谢!


关于类

所有类
ExceptionYamlReaderConfigure

Exception

这个类继承自 std::exception,但提供了更丰富的功能。

SLAM::Exception 提供了无参构造函数和带有错误信息的构造函数。和其他的exception不同的是,它可以记录错误发生的位置以及是哪个第三库引发了异常。

YamlReader

SLAM::Basic::YamlReader 是基于第三方库实现的。他统一了一些接口,另外可以解析bool、long、cv::Mat、Eigen::Matrix等。需要注意的是,cv::FileStorage 不能识别 truefalse,而 YAML::Node 不能读取 cv::Mat

具体一些,它提供了 ‘Read’ 和 ‘ReadSafe’ 方法。‘Read’ 接受一个 name 参数,这个参数表示键值对的名字。该函数返回该名称对应的值。这个值也可以通过参数引用返回。相较于 ‘Read’, ‘ReadSafe’ 接受一个附加的默认值参数,如果该键值对读取失败,就会返回该默认值。

它也提供了一些用来读取的静态方法,还有一些不太成熟的写入接口(YamlWriter, YamlIO)。

Configure

SLAM::Configure 用来读取设置文件。它被设计为一个单例模式调用,通过 IGetInstance 静态方法获取实例。当然,如果它不符合你的需求,你也可以改善它。该类需要 YamlReader 来完成解析读取功能。


关于依赖项

该项目需要OpenCVYaml-cpp 来读取文件。


关于问题

如果它的运行结果和你的期望有差距,你可以

  • 查看以前的问题
  • 提交一个新的问题
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值