参考:
https://blog.csdn.net/luoganttcc/article/details/131711823
https://blog.csdn.net/u010196944/article/details/127238908?spm=1001.2014.3001.5501
仅做学习记录使用。
注意点1:D435i支持双目的红外影像输出的,但是它默认是关闭这一选项的,也就是说它不会有双目红外影像的Topic,所以需要我们自己打开

修改rs_camera.launch 文件中enable_infra、enable_infra1、enable_infra2这三个参数为true
重新编译,再来看一下topic

新增了infra系列的topic,这就是双目红外相机的话题。(我要修改这个是为了做双目SLAM,如果不需要的可以不用改)
修改完让我们来查看一下双目相机内参:
rostopic echo /camera/infra1/camera_info
header:
seq: 149
stamp:
secs: 1764660173
nsecs: 820129871
frame_id: "camera_infra1_optical_frame"
height: 480
width: 848
distortion_model: "plumb_bob"
D: [0.0, 0.0, 0.0, 0.0, 0.0]
K: [422.4416198730469, 0.0, 428.0201721191406, 0.0, 422.4416198730469, 243.25135803222656, 0.0, 0.0, 1.0]
R: [1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0]
P: [422.4416198730469, 0.0, 428.0201721191406, 0.0, 0.0, 422.4416198730469, 243.25135803222656, 0.0, 0.0, 0.0, 1.0, 0.0]
binning_x: 0
binning_y: 0
roi:
x_offset: 0
y_offset: 0
height: 0
width: 0
do_rectify: False
---
rostopic echo /camera/infra2/camera_info也是一样的结果
rqt_image_view看下双目红外图:

图中看到的斑点是发射出去的红外光,通过它来测算深度。
注意点2:关闭红外发射器,在较小和较暗的场景,会干扰SLAM特征提取,如果想使用红外图像做SLAM,要关掉,但关掉后深度信息就不准了,采集的数据无法用于RGBD模式,所以一定想清楚要用哪种模式做SLAM。可参照:

要关闭他的话,有两种办法,第一种参照:https://blog.csdn.net/luoganttcc/article/details/131711823
第二种参照:https://blog.csdn.net/u010196944/article/details/127238908?spm=1001.2014.3001.5501
第二种是通过修改launch文件参数,我选择第二种。
就按照那里面的来就行了,原文:

QAQ,我这样做失败了,不知道为啥,图像还是有光斑,换第一种吧,不管了,能逮到耗子的就是好猫。。


可以看到,关闭后光斑消失了。
注意点3:分辨率问题
因为我的数据要同时在yolo和slam中使用,而且两者的结果要融合,所以应该需要考虑分辨率,以防万一。所以需要明确数据类型、影像的大小、帧率、深度是否对齐等信息,这些都在rs_camera.launch文件的对应参数里设置(来自参考)。
现在我的yolo支持640*360分辨率
以上就是三个使用注意点,话说这个相机使用也有太多事情了,头都大了,还请各位大佬多多指点。