Realsense D435i关闭IR结构光
Realsense D435i 关闭IR光
- 前言
- 环境
- 一次性关闭IR光
- 从源码修改
前言
由于要做Realsense D435i的双目结构光相机标定,其中用到了ROS来录制数据包,但是结构光会影响标定,所以得先关闭IR结构光发射器。
如下图,成像很多光斑,我们要想办法关掉。
环境
ros
librealsense
realsense-ros
一次性关闭IR光
一次性地对Realsense进行设置,关闭IR光。
首先,插入电脑,打开三个terminal,分别执行:
出现以下界面:
把emitter_enable的勾去掉,即可。可以通过肉眼看相机发射器已经不再发射IR光了。
再在RVIZ上看看是否真的关闭了(把刚刚打开的rqt_reconfigure关掉)
在新的terminal输入rviz,先把左上角的Fixed Frame 设置为camera_link,再在左下角Add,By topic处选择Infra1下/image_rect_raw的Camera(双击),可以看到出来的图像已经没有白斑了。
但是下次使用的时候,还是得进行上述操作,因为这是一次性的,下面来看看如何方便地开关IR光。
从源码修改
从源码修改可以方便的使用参数来对IR光进行开关。
在realsense-ros/realsense2_camera/launch文件夹中,先复制一份rs_camera_copy.launch,以免改错了。
cp rs_camera.launch rs_camera_copy.launch修改rs_camera_copy.launch
gedit rs_camera_copy.launch在这条语句下面
<arg name="allow_no_texture_points" default="false"/>增加以下语句:
<arg name="emitter_enable" default="false"/><!-- rosparam set /camera/stereo_module/emitter_enabled false --> <rosparam>/camera/stereo_module/emitter_enabled: false </rosparam><rosparam if="$(arg emitter_enable)">/camera/stereo_module/emitter_enabled: true </rosparam>这里修改的代码意思就是说,开启rs_camera_copy.launch时,默认关闭IR光,当你需要它打开的时候,只需要在打开的时候,增加一个参数即可,下面进行示范:
①当你不需要IR光时,无需加参数开启launch:
roslaunch realsense2_camera rs_camera_copy.launch②当你需要打开IR光时,加参数开启launch:
roslaunch realsense2_camera rs_camera_copy.launch emitter_enable:=true这样就方便多了,IR光想开就开。
参考:
https://github.com/IntelRealSense/realsense-ros/issues/817
https://github.com/IntelRealSense/realsense-ros/issues/871
总结
以上是生活随笔为你收集整理的Realsense D435i关闭IR结构光的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 论文写作的不同阶段,该如何修改?
- 下一篇: 50 Tomcat 集群部署