本节目标
我们要实现一个基本的文件IO,用于读取TUM数据集中的图像。顺带的,还要做一个参数文件的读取。
设计参数文件读取的类:ParameterReader
首先,我们来做一个参数读取的类。该类读取一个记录各种参数文本文件,例如数据集所在目录等。程序其他部分要用到参数时,可以从此类获得。这样,以后调参数时只需调整参数文件,而不用重新编译整个程序,可以节省调试时间。
这种事情有点像在造轮子。但是既然咱们自己做slam本身就是在造轮子,那就索性造个痛快吧!
参数文件一般是用yaml或xml来写的。不过为了保持简洁,我们就自己来设计这个文件的简单语法吧。一个参数文件大概长这样:
# 这是一个参数文件 # 这虽然只是个参数文件,但是是很厉害的呢! # 去你妹的yaml! 我再也不用yaml了!简简单单多好! # 数据相关 # 起始索引 start_index=1 # 数据所在目录 data_source=/home/xiang/Documents/data/rgbd_dataset_freiburg1_room/ # 相机内参 camera.cx=318.6 camera.cy=255.3 camera.fx=517.3 camera.fy=516.5 camera.scale=5000.0 camera.d0=0.2624 camera.d1=-0.9531 camera.d2=-0.0054 camera.d3=0.0026 camera.d4=1.1633