使用ros调用D435深度相机,并录制视频数据,将其保存成图片
一、先安装相机驱动,ros插件,并进行相机标定
1.https://www.freesion.com/article/5121519333/
不标定也能用,但是可能会有一些误差,看实际操作的精度要求进行误差标定即可。
二、然后进行视频录制成.bag文件,并可将其保存成图片
https://blog.csdn.net/listen_to_star/article/details/98972581
三、上述过程出现的一些问题总结
1.录制的视频可能会保存成.bag.active文件,此时要将其转化成.bag文件,方法为:
https://blog.csdn.net/u012348774/article/details/81559370
2.在运行roslaunch时出现了类似下面的错误:
RLException: XXX is neither a launch file in package XXX nor is XXX a launch file name
这是因为setup.bash文件没有进一步说明包的来源,解决方法是:
source catkin_ws/devel/setup.bash
3.将视频转化成图片时,会编写一个export.launch文件,最好用gedit编辑,不要用vim(个人觉得不好用),如果打开的是只读模式可在命令前增加权限sudo。所编辑的.launch文件要注意修改其中的文件路径名和你的话题名,直接照抄网上的会报错,其中具体内容如下:
https://blog.csdn.net/weixin_42587961/article/details/103238824
https://blog.csdn.net/listen_to_star/article/details/98972581
两个网址的内容结合着看
我的.launh文件内容如下:
<launch>
<node pkg="rosbag" type="play" name="rosbag" args="-d 2 /home/dlm/rgb/rgb.bag"/>
<node name="extract" pkg="image_view" type="extract_images" respawn="false" output="screen" cwd="ROS_HOME">
<remap from="image" to="/camera/color/image_raw"/>
<param name="sec_per_frame" value="0.03"/>
</node>
</launch>
其中/home/dlm/rgb/rgb.bag"/>和 from=“image” to="/camera/color/image_raw"/>要根据自己的实际情况修改。
4.ros中具体查看某一进程中的话题及其具体信息方法如下:
https://blog.csdn.net/Mr_dhy/article/details/81672289?utm_medium=distribute.wap_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.wap_blog_relevant_pic&depth_1-utm_source=distribute.wap_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.wap_blog_relevant_pic