1. Kinect2 + Ubuntu
首先,在路径catkin_ws/src/iai_kinect2/下clone开源代码
git clone https://github.com/MRwangmaomao/KinectV2_dataset_make
注意把文件夹dataset_make移到了顶层 删掉了它顶层的文件夹 如图:
按照自己的要求修改源码 这是我做的修改。
因为最后生成的depth.txt文件和rgb.txt文件中只有最后一次采集的数据 原因是生成的文件会被之前的文件覆盖 所以我把第三行语句和第四行语句从函数提到了函数外 避免每采一帧就生成一次txt文件。
int counters = 0;
string save_path = "/home/xxx/data"; //根据自己需要修改
ofstream frgb(save_path + "/rgb.txt");
ofstream fdepth(save_path + "/depth.txt");
修改好源码之后 记得新建你用来保存数据的data文件夹 在data下要新建两个空文件夹 depth和rgb 用来存放采集的深度图和rgb图像。
对源码进行编译:
cd /home/xxx/catkin_ws
catkin_make //编译
运行kinect2驱动及数据采集节点
roscore
rosrun kinect2_bridge kinect2_bridge.launch #需事先安装freenect2和iai_kinect2
rosrun dataset_make get_image_node #程序中默认500张自动停止,可根据自己需要调整
保存好图像之后 我们得到了四种数据:
depth图像 rgb图像 depth.txt rgb.txt 把associate.py文件拷到data文件夹下
cd /home/linxiaorui/data/
python associate.py rgb.txt depth.txt >associates.txt
生成associates.txt文件。
2.Realsense + Windows
如果你是使用realsense的话,制作过程将会更加简单。
首先安装realsense官方sdk,这一步就把相关驱动安装成功了,而且查看安装目录(默认为C:\Program Files (x86)\Intel RealSense SDK 2.0)tools文件夹中会有许多相关小工具,介绍几个我用到过的:rs-convert是将sdk中通过record采集到的.bag文件转换成rgb和depth的小工具,当然这一步就完成了我们数据集的制作,然而在进行三维重建的时候跑不出结果,所以我们用了下面的方法。
我们使用https://github.com/intel-isl/Open3D/tree/master/examples/Python中的ReconstructionSystem/sensors下的realsense_recorder脚本。
首先保证你的python环境中有pyrealsense2库(使用pip install pyrealsense2即可安装)。
realsense_recorder.py --output_folder ../dataset/realsense --record_imgs #后面几个参数分别代表输出路径(根据自己需求更改)及记录图片(也可记录.bag文件)
这样就生成了depth、image文件。
参考:
制作自己的rgb-d数据集