Realsense D435保存图像

你可以走慢一点,但脚步不能停下来。

Realsense是我使用的第3款深度传感器,前两款分别是Orbbec和Kinect v2,奥比中光的深度传感器只需要USB接口,但深度图的效果并不好,Kinect v2的功率更大,但需要额外的电源线,不方便手持移动,但放在移动机器人上应该是可行的,而且设备很大,很重。Realsense D435是Intel的产品,一款深度摄像机,很轻便小巧,而且不需要额外的电源线,在有玻璃的环境中深度图的效果也还可以。(但是!我说的这些并不是我换成realsense的原因,我不想换,但硬件部的老大过来直接拆掉了我的Kinect v2,塞给我一个realsense,,,我其实感觉很不爽的。)

软硬件配置

CPU:Intel® Core™ i7-7820HQ CPU @ 2.90GHz × 8

内存:16G

系统版本:Ubuntu16.04 LTS 64位

深度传感器:Realsense D435

驱动安装(非ROS环境)

按照github上的来就行,主要过程如下:

  1. Navigate to librealsense root directory to run the following scripts.
    Unplug any connected Intel RealSense camera.(拔出设备)

  2. Install the core packages required to build librealsense binaries and the affected kernel modules:(安装一些依赖)
    sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev 

  3. (安装glfw3,好像是用来显示demo,核心的部分不用到glfw3)Distribution-specific packages:   sudo apt-get install libglfw3-dev

  4. 到了这一步之后,就开始参考realsense zr300的安装教程了(感谢Sparta_117的文章),                      sudo git clone https://github.com/IntelRealSense/librealsense.git

  5. 在当前路径下,

    mkdir build && cd build
    cmake ../
    cmake ../ -DBUILD_EXAMPLES=true
    make && sudo make install


  6. 接着安装,
sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/ 
sudo udevadm control --reload-rules && udevadm trigger 

           7. sudo apt-get install libssl-dev

8. 这条命令有很多可以选择,在scripts里会发现有很多这种文件,我找了一个看似比较符合的,也是和realsense git上给的一样的一条命令

./scripts/patch-realsense-ubuntu-lts.sh

  9. 当第8运行提示完成后,插上realsense d435,运行

sudo dmesg | tail -n 50 

10. 进入build文件夹下的examples文件夹,执行

     cd capture./rs-capture
    ./rs-capture

   出现以下结果图:

Realsense D435保存图像_第1张图片

咋说呢,,我两张图的位置很不一样啊,我很不喜欢这样,,虽然才发现,,,搞得就像没对齐好一样,,,而且尺寸好像也不一样,彩色深度图应该是1280x720,彩色图应该是640x480的。

驱动安装(ROS环境)

因为要用在ORB_SLAM2上,或者以后用在其他SLAM上,希望有ROS支持,参考官方github,在catkin工作空间中,修改launch文件可以获取不同分辨率的图像,我需要的是1280x720,所以就将它们都换成了这个大小,用的是rs_rgbd.launch文件。

roslaunch realsense2_camera rs_rgbd_1280x720.launch

如果想要查看的话,可以新开一个终端运行rqt_image_view来查看对应节点的图像。


这种查看方式有种很大的问题就是不知道为什么一选择深度图话题就会崩掉。

图像保存

保存是为了以后录制数据集进行bug复现,另一方面现在用到保存也是因为需要对相机进行标定。我记得这一块代码是我仿照orb-SLAM2的ros_rgbd.cc来写的。啊,这么说我是不是可以上传到github上。对哦,我还是把这块代码放在github上吧。

相机标定

这一块我一直搞不懂的是如何对齐深度图和彩色图,哎,,我做的方法就是利用保存下来的包含棋盘格的图像,送到MATLAB中标定,MATLAB在Ubuntu下也可以安装,所以不用切换系统。哦对,我标定的图像大小是1280x720。



你可能感兴趣的:(摄像头标定)