librealsense 深度相机 SDK 从零上手完整指南:安装部署、首个程序与避坑实录
2026/8/21 16:38:22 网站建设 项目流程

librealsense 深度相机 SDK 从零上手完整指南:安装部署、首个程序与避坑实录

【免费下载链接】librealsenseRealSense SDK项目地址: https://gitcode.com/GitHub_Trending/li/librealsense

刚拿到一块 Intel RealSense D455 深度相机时,很多人会一头扎进资料堆里:翻半天文档、装一堆依赖、编译报错、设备枚举不到……折腾一整天还在原地打转。作为 RealSense 官方维护的跨平台 SDK,librealsense 同时支持 Windows、Linux 和 macOS,但真正让新手崩溃的,往往是 Linux 上那条从"装依赖"到"跑起第一个 Demo"的漫漫长路。这篇文章不打算再复述一遍官方手册,而是用一条"从拆箱到跑通"的主线,把 librealsense 的安装部署、环境准备、首个程序和常见故障一次性讲透,让你照着做就能让深度画面亮起来。

一、动手之前先想清楚:两条安装路线各适合谁

很多教程会直接甩给你一长串 apt 命令,但你先别急着复制。librealsense 在 Linux 上其实有两条完全不同的路线,选错路线是后续一切麻烦的根源。

路线 A:apt 仓库安装(省心派)

这是官方推荐的"开箱即用"方式,适合大多数只想快速用起来的开发者。它会通过 DKMS 机制自动构建并加载补丁后的内核驱动,还顺带帮你装好运行时库、演示工具和 udev 规则,一条命令全家桶到位。

路线 B:源码编译(折腾派)

适合三种人:你要用非 LTS 内核、需要集成自定义补丁、或者想改 SDK 源码本身。这种方式给你完全的控制权,代价是你要亲手处理依赖、内核补丁和编译参数。

我的建议很直接:第一次接触,先走 apt 路线快速验证设备,等真正需要定制时再切源码编译。两边的具体命令,下面分别给你。

二、安装前的基础环境检查清单

不管是哪条路线,有几件事必须在安装前确认,否则后面会反复踩坑。

1. 确认系统版本

librealsense 官方支持 Ubuntu 20/22/24 LTS 版本。先用命令确认你的发行版:

lsb_release -a # 查看发行版信息 uname -r # 查看内核版本

如果你用非 LTS 版本或自定义内核,建议直接选源码编译路线,并对照项目文档里的内核兼容说明。注意一点:官方明确表示不支持在虚拟机中运行,因为虚拟机的 USB3.0 转换层会干扰设备通信——这是新手最容易忽视的坑。

2. 安装编译基础依赖

无论走哪条路线,下面这些包都跑不掉,分开装是为了避免个别平台一次性安装时的依赖冲突:

sudo apt-get update && sudo apt-get upgrade sudo apt-get install libusb-1.0-0-dev sudo apt-get install libudev-dev sudo apt-get install libssl-dev pkg-config libgtk-3-dev sudo apt-get install git wget cmake build-essential

如果你打算编译带图形界面的示例,还需要 OpenGL 相关的三件套:libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev。只想跑无界面 Demo 的话可以跳过。

3. 授权设备访问权限

RealSense 相机需要 udev 规则才能被普通用户访问。这一步必须在你拔掉所有 RealSense 相机的情况下执行,脚本中途会要求你确认:

./scripts/setup_udev_rules.sh

脚本来自项目根目录的 scripts/setup_udev_rules.sh,作用是把 config/99-realsense-libusb.rules 拷贝到系统 udev 规则目录并重载规则。想撤销权限时,加个参数即可:./scripts/setup_udev_rules.sh --uninstall

三、路线 A 实战:apt 仓库五分钟装好全家桶

这条路线快得超乎想象,三步走:

第一步:注册仓库密钥

sudo mkdir -p /etc/apt/keyrings curl -sSf https://librealsense.realsenseai.com/Debian/librealsenseai.asc | \ gpg --dearmor | sudo tee /etc/apt/keyrings/librealsenseai.gpg > /dev/null

第二步:添加软件源并更新

sudo apt-get install apt-transport-https echo "deb [signed-by=/etc/apt/keyrings/librealsenseai.gpg] https://librealsense.realsenseai.com/Debian/apt-repo `lsb_release -cs` main" | \ sudo tee /etc/apt/sources.list.d/librealsense.list sudo apt-get update

第三步:安装核心包

sudo apt-get install librealsense2-dkms sudo apt-get install librealsense2-utils

这两行命令会一次性部署好 udev 规则、构建并激活内核模块、装好运行时库和所有演示工具。如果你还要开发自己的程序,补上开发包:

sudo apt-get install librealsense2-dev

装完后重新插拔相机,然后运行验证命令:

realsense-viewer

如果一切正常,Viewer 窗口会列出你的相机并显示实时画面。还可以用这条命令确认内核补丁是否生效:

modinfo uvcvideo | grep "version:"

输出里应包含realsense字样,说明补丁后的 uvcvideo 驱动已经接管了设备。

四、路线 B 实战:源码编译一次打通

需要源码编译的同学,先把仓库克隆下来:

git clone https://gitcode.com/GitHub_Trending/li/librealsense cd librealsense

第一步:打内核补丁

RealSense 深度相机在 Linux 上依赖修改过的内核驱动,这是与普通摄像头最大的不同。Ubuntu 20/22/24 的 LTS 内核(5.15、5.19、6.5、6.8、6.11、6.14)直接用官方脚本:

./scripts/patch-realsense-ubuntu-lts-hwe.sh

这个脚本会下载、编译并加载补丁后的 uvcvideo 等内核模块,失败时会自动回滚原模块。打完补丁用sudo dmesg | tail -n 50查看日志,应该能看到新的 uvcvideo 驱动注册记录。

第二步:CMake 配置与编译

mkdir build && cd build cmake ../ -DBUILD_EXAMPLES=true make -j$(($(nproc)-1)) # 多核并行编译,加速明显 sudo make install

几个常用配置参数提前告诉你:

  • -DCMAKE_BUILD_TYPE=Release:编译优化版本,性能更好
  • -DBUILD_GRAPHICAL_EXAMPLES=false:无 OpenGL/X11 环境只编译命令行示例
  • 编译遇到gcc: internal compiler error:多半是内存或 swap 不足,关掉占用大的程序,或给虚拟机至少 2GB 内存

编译产物会安装到/usr/local/lib(动态库)、/usr/local/include(头文件)、/usr/local/bin(工具与示例)。

五、首个程序:让深度数据真正流起来

安装只是热身,验证 SDK 能不能被你调用才是关键。项目自带一个极简的hello-realsense示例(见 examples/hello-realsense/rs-hello-realsense.cpp),核心逻辑只有三行:创建 pipeline、启动、取帧。更直观的是capture示例(examples/capture/rs-capture.cpp),它能同时显示深度和彩色画面:

#include <librealsense2/rs.hpp> // RealSense 跨平台 API int main() { rs2::pipeline pipe; rs2::config cfg; cfg.enable_all_streams(); // 启用相机全部数据流 pipe.start(cfg); // 启动流 while (true) { rs2::frameset data = pipe.wait_for_frames(); // 等待一帧数据 auto depth = data.get_depth_frame(); auto color = data.get_color_frame(); // 在这里处理你的深度和彩色数据 } return 0; }

如果你用的是 apt 路线,编译链接一条命令搞定:

g++ -std=c++11 your_program.cpp -lrealsense2 -o your_program

注意-std=c++11是官方要求的最低标准。编译成功并跑起来后,你会看到类似这样的画面:

拿到深度图后能做的事就多了:点云生成(examples/pointcloud/rs-pointcloud.cpp)、深度测量、人体骨架追踪(wrappers/dlib)、OpenCV 集成(wrappers/opencv)……SDK 的生态远比你想象得丰富。

六、避坑地图:五个高频故障的定位与解法

跑通第一个程序后,把下面这张故障地图存好,它能帮你省下大量排查时间。

坑 1:相机插上但枚举不到

先做体检:

lsusb | grep 8086 # 8086 是 Intel 的 USB Vendor ID dmesg | grep uvcvideo # 看驱动加载日志

如果lsusb能看到设备但 SDK 枚举不到,九成是 udev 规则没生效——回到第二节重新执行setup_udev_rules.sh,并确认重载了规则(sudo udevadm control --reload-rules)。

坑 2:uvcvideo 模块加载失败

lsmod | grep uvcvideo

如果补丁模块加载失败,通常是补丁版本和当前内核不匹配。用uname -r核对内核版本,确认它在你执行补丁脚本时对应的内核范围内,必要时重新打补丁。另外内核 4.4-30+ 之后,日志里出现module verification failed: signature and/or required key missing属于正常告警,不影响功能,别被吓到。

坑 3:升级过程中断、进度卡住

升级固件时进度条停滞或设备掉线,最常见的元凶是供电不足。建议换用带独立供电的 USB 3.0 集线器,并禁用 USB 自动挂起:

echo "options usbcore autosuspend=-1" | sudo tee /etc/modprobe.d/disable-usb-suspend.conf

坑 4:系统里有多套 udev 规则冲突

同时装了 apt 版和源码版就会出现Multiple realsense udev-rules were found!的报错。对策是二选一,把另一套彻底卸载:apt 版用sudo apt-get purge逐个清除,源码版用setup_udev_rules.sh --uninstall

坑 5:企业网络环境访问超时

apt 或脚本下载超时,通常是防火墙拦截了。配置系统级代理基本能解决:

export http_proxy=http://your-proxy:8080 export https_proxy=http://your-proxy:8080

七、进阶维护:固件升级与容器化部署

固件升级的正确姿势

SDK 自带命令行升级工具rs-fw-update(源码在 tools/fw-update)。先列出设备:

rs-fw-update -l

输出会显示相机序列号和当前固件版本,然后指定序列号和固件包升级:

rs-fw-update -s <序列号> -f Signed_Image_UVC_<版本>.bin

如果相机升级失败进入恢复模式,列表会显示为D4XX Recovery,此时用恢复参数强制重刷:

rs-fw-update -r -f Signed_Image_UVC_<版本>.bin

容器化部署的捷径

想在一个干净环境里快速跑 SDK,官方提供了 Docker 镜像(scripts/Docker):

docker pull librealsense/librealsense docker run -it --rm \ -v /dev:/dev \ --device-cgroup-rule "c 81:* rmw" \ --device-cgroup-rule "c 189:* rmw" \ librealsense/librealsense

那两行device-cgroup-rule参数负责把宿主机的 USB 和 UVC 资源授权给容器,缺一不可。容器默认会执行rs-enumerate-devices --compact,你也可以换成任意自定义命令,比如直接跑深度示例:

docker run -it --rm -v /dev:/dev \ --device-cgroup-rule "c 81:* rmw" \ --device-cgroup-rule "c 189:* rmw" \ librealsense/librealsense rs-depth

八、写在最后:一条可复用的上手路径

回顾整趟旅程,librealsense 的上手其实就四步:选对路线 → 备好环境 → 装好 SDK → 跑通首例。如果你不想记这么多细节,记住下面这张"最低行动清单"就够用了:

  1. 首次使用先走 apt 路线,用realsense-viewer验证设备
  2. 记得执行setup_udev_rules.sh并插拔相机
  3. 遇到设备枚举不到,先查lsusbdmesg,再查 udev 规则
  4. 升级固件前确认供电充足,失败进入恢复模式就用rs-fw-update -r抢救
  5. 需要干净环境或团队协作时,直接上官方 Docker 镜像

现在就去把相机接上,跑起你的第一个深度程序。等深度画面亮起来的那一刻,你会觉得前面所有的折腾都值了——毕竟,从零到一永远是整个项目里最硬核的一段路。

【免费下载链接】librealsenseRealSense SDK项目地址: https://gitcode.com/GitHub_Trending/li/librealsense

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询