RealSense深度相机的安装、调试、使用记录

本文详细记录了RealSense深度相机在Ubuntu 18.04下的安装、调试及使用方法,包括通过ROS的ros-melodic-usb-cam、Python+OpenCV以及在ROS与RVIZ环境中的应用。同时,介绍了如何解决接口调试和闪退问题。

RealSense深度相机的安装、调试、使用记录

简介

本工作使用RealSense进行多物体识别,使用ROS机器人平台,使用DOPE人工智能环境,在Ubuntu18.04下工作,使用Anaconda提供python。

RealSense相机的使用方法

本节的目标是记录RealSense相机的使用方法,包括

  1. 使用ROS的ros-melodic-usb-cam调用相机
  2. 使用Python和OpenCV调用相机
  3. 使用ROS、Python和OpenCV调用相机
  4. 使用ROS、RVIZ、Python和OpenCV调用相机

RealSense提供两个相机,一个是RGB相机,可以采集到正常的彩色图片流;另一个是黑白相机,可以采集到激光编码散斑。在Ubuntu系统下,这两个相机分别占用一个USB设备接口,典型接口编号如下

/dev/video2  # RGB Camera
/dev/video4  # Depth Camera

上述四种方法中,后三种均依靠OpenCV接入摄像头数据。在第一种方法中,使用ROS的官方示例程序ros-melodic-usb-cam来调用摄像头;在第二种方法中,Python调用OpenCV库,使用OpenCV的图形显示功能;在第三种方法中,增加了ROS;在第四种方法中,RVIZ是被ROS使用的图形界面。

使用ROS的ros-melodic-usb-cam调用相机

ros-melodic-usb-cam使ROS的官方示例程序之一,用于启动摄像头,获取图像,并显示在屏幕上。这里记录ros-melodic-usb-cam的安装、接口调试和使用方法。

ros-melodic-usb-cam的安装流程

ros-melodic-usb-cam的安装包括两种,第一种是使用Ubuntu的apt-get安装,如下,

sudo apt-get install ros-melodic-usb-cam

其中,"ros-melodic-usb-cam"中的"melodic"与用户当前的Ubuntu版本相匹配,如"melodic"对应Ubuntu18.04。

第二种安装方法是编译源代码,参考(https://blog.csdn.net/wilylcyu/article/details/51732710)。

ros-melodic-usb-cam的接口调试方法

考虑ros-melodic-usb-cam默认调用的摄像机接口为/dev/video0,与RealSense的接口编号不一致,若直接运行ros-melodic-usb-cam,将无法启动RealSense的摄像机。接口的修改方法可参考(https://blog.csdn.net/benchuspx/article/details/108765979),如下,

第一步,进入ros-melodic-usb-cam的源代码位置,

roscd usb_cam

第二步,打开文件

vim launch/usb_cam-test.launch

第三步,调整接口参数

<param name="video_device" value="/dev/video2" />  

其中,接口号为video2,若运行,则调用RealSense的黑白相机。也可以调整为video4,若运行,则调用RGB相机。

ros-melodic-usb-cam的运行方法

打开终端,运行命令如下,

roslaunch usb_cam usb_cam-test.launch 

若出现闪退问题,可参考(https://blog.csdn.net/benchuspx/article/details/108765979)。

使用Python和OpenCV调用相机

OpenCV是常用的计算机视觉库和机器学习库,本工作使用OpenCV打开和处理RealSense的相机数据,编程语言选择Python,启动相机的代码如下,

import cv2
import numpy
 
#cap = cv2.VideoCapture(2) #调整参数实现读取视频或调用摄像头
cap = cv2.VideoCapture(4) #调整参数实现读取视频或调用摄像头

while cap.isOpened():
    ret, frame = cap.read()
    cv2.imshow("cap", frame)
    if cv2.waitKey(1) & 0xff == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

在ROS下使用RVIZ调用Realsense相机

在ROS下启动RealSense,参考博客(https://blog.csdn.net/weixin_48250354/article/details/109309042)。工作中准备两个终端,分别执行ROS的RealSense和RVIZ。其中,第一个终端运行RealSense,命令如下,

roslaunch realsense2_camera rs_camera.launch

第二个终端运行RVIZ,命令如下,

rviz

在RVIZ界面中,增加RGB相机和深度相机。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值