本文基于Ubuntu 16.04系统,详细介绍了Intel RealSense SR300深度相机的配置与应用实践,内容包括驱动安装、librealsense库编译、ROS环境配置等关键步骤,解决了依赖冲突与权限问题,通过实验验证了相机在深度数据采集、三维重建及人机交互等场景的应用效果,测试了深度图像精度与实时性,为基于该平台的计算机视觉应用提供了可复现的技术方案,体现了SR300在科研与工程实践中的实用价值。
Intel RealSense SR300是一款经典的深度相机,凭借其高精度深度感知、RGB图像采集以及结构光主动投射技术,广泛应用于机器人导航、三维重建、人机交互等领域,Ubuntu 16.04作为一款长期支持(LTS)的Linux发行版,因其稳定性和广泛的硬件兼容性,成为开发者的常用系统,本文将详细介绍在Ubuntu 16.04系统下SR300相机的驱动安装、配置验证及基础应用开发,帮助用户快速上手这一深度感知设备。
系统环境准备
在开始配置前,需确保Ubuntu 16.04系统满足SR300的硬件与软件要求,避免因环境不匹配导致安装失败。
硬件要求
- 处理器:支持Intel SSE4.2指令集的CPU(如Intel第3代及以上酷睿处理器);
- USB接口:USB 3.0接口(SR300需通过USB 3.0供电以保证性能,部分USB 2.0接口可能无法稳定工作);
- 内存:至少4GB RAM(推荐8GB以上,以应对深度数据处理需求)。
系统与依赖安装
首先更新系统并安装必要的依赖库:

sudo apt update && sudo apt upgrade -y sudo apt install -y build-essential cmake git libusb-1.0-0-dev libudev-dev pkg-config
这些依赖包括编译工具、USB设备支持库及开发包,为后续驱动安装提供基础。
Intel RealSense SDK安装
SR300的驱动与开发工具主要通过Intel RealSense SDK(librealsense)提供,Ubuntu 16.04的官方仓库中可能未包含最新版本,需通过Intel官方源安装。
添加Intel RealSense仓库
sudo apt-key adv --keyserver keys.gnupg.net --recv-key D6E3D4D58D3D911F echo "deb https://librealsense.intel.com/Debian/repo intel-realsense-public" | sudo tee /etc/apt/sources.list.d/librealsense.list
安装SDK与固件
更新仓库列表后,安装librealsense SDK:
sudo apt update sudo apt install -y librealsense2-dkms librealsense2-utils librealsense2-dev
librealsense2-dkms:动态内核模块支持,确保驱动与内核版本兼容;librealsense2-utils:包含调试工具(如realsense-viewer);librealsense2-dev:开发头文件与库,用于自定义应用程序编译。
安装完成后,重启系统以加载驱动模块:
sudo reboot
SR300相机配置与验证
设备连接与识别
将SR300通过USB 3.0接口连接至Ubuntu 16.04系统,使用以下命令检查设备是否被识别:
lsusb | grep "8086"
若输出包含8086:0ad7(SR300的VID/PID),则表示系统已检测到相机。
驱动加载验证
加载librealsense驱动模块:
sudo modprobe uvcvideo sudo modprobe realsense2
再次查看/dev目录下是否存在RealSense设备文件:
ls /dev/RealSense*
若输出类似/dev/RealSense2_depth_sensor /dev/RealSense2_rgb_camera等设备文件,说明驱动加载成功。
工具测试
使用realsense-viewer图形化工具验证相机功能:
realsense-viewer
若工具正常启动,应能看到实时深度图像(灰度图,距离越远越暗)和RGB图像,并可调整相机参数(如曝光、增益等),若无法打开,可检查USB供电或尝试更换接口。
基础应用开发示例
安装SDK后,可通过Python或C++开发应用程序,采集SR300的深度与RGB数据,本文以Python为例,展示基础数据采集与可视化。
安装Python绑定
sudo apt install -y python3-pip python3-numpy pip3 install pyrealsense2
Python代码示例
创建sr300_capture.py文件,编写以下代码:
import pyrealsense2 as rs
import numpy as np
import cv2
# 初始化管道
pipeline = rs.pipeline()
config = rs.config()
config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)
# 启动管道
pipeline.start(config)
try:
while True:
# 等待一帧数据
frames = pipeline.wait_for_frames()
depth_frame = frames.get_depth_frame()
color_frame = frames.get_color_frame()
if not depth_frame or not color_frame:
continue
# 转换为numpy数组
depth_image = np.asanyarray(depth_frame.get_data())
color_image = np.asanyarray(color_frame.get_data())
# 深度图像伪彩色处理
depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, alpha=0.03), cv2.COLORMAP_JET)
# 显示图像
cv2.imshow('Depth Stream', depth_colormap)
cv2.imshow('Color Stream', color_image)
# 按'q'退出
if cv2.waitKey(1) & 0xFF == ord('q'):
break
finally:
pipeline.stop()
cv2.destroyAllWindows()
运行与效果
执行脚本:
python3 sr300_capture.py
程序将弹出两个窗口,分别显示深度伪彩色图像和RGB图像,实时捕捉相机前方的场景,按q键可退出程序。
常见问题及解决方案
设备未识别(lsusb无输出)
- 原因:USB接口供电不足或接口版本不符(需USB 3.0);
- 解决:尝试更换

