RealSense 深度相机快速上手15分钟从插线到读出深度数据【免费下载链接】librealsenseRealSense SDK项目地址: https://gitcode.com/GitHub_Trending/li/librealsenselibrealsense 是 RealSense 深度相机的官方开源 SDK把相机的彩色、深度、红外流变成代码能用的数据。这篇写给做机器人、3D 扫描、视觉项目的你读完能装好 SDK、确认相机在线并让程序读出物体距离。装好 SDK按场景挑最省事的安装路径先按场景选Python 用户走 pipUbuntu 上写 C 走官方 apt 源因为两者都是预编译的省掉源码编译那半小时。Python任何平台pip install pyrealsense2这条命令装 Python 绑定装完就能import pyrealsense2。稳定版叫 pyrealsense2尝鲜版叫 pyrealsense-beta两个只装一个。Ubuntu 20/22/24C 开发curl -sSf https://librealsense.realsenseai.com/Debian/librealsenseai.asc | gpg --dearmor | sudo tee /etc/apt/keyrings/librealsenseai.gpg /dev/null 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这三行添加官方 APT 源并刷新包列表。sudo apt-get install librealsense2-dkms librealsense2-utils librealsense2-devdkms 包会自动打好内核模块补丁内核模块是 OS 加载进内核、用来驱动硬件的一段代码升级内核后自动重编utils 提供 realsense-viewer 等工具dev 提供编译头文件。装完验证驱动是否生效modinfo uvcvideo | grep version:输出包含 realsense 字样说明打过补丁的驱动已加载。源码编译只有两种情况需要内核不在 dkms 支持的 LTS 列表里或要合并自己的补丁。步骤是git clone https://gitcode.com/GitHub_Trending/li/librealsense cd librealsense ./scripts/setup_udev_rules.sh ./scripts/patch-realsense-ubuntu-lts-hwe.sh克隆仓库、装 udev 规则udev 规则是决定哪个用户能读 USB 设备的系统配置、再给当前 Ubuntu LTS 内核打驱动补丁。然后编译安装mkdir build cd build cmake .. -DBUILD_EXAMPLEStrue make -j$(nproc) sudo make install在 build 目录完成配置和编译把库、示例、工具装进 /usr/local。完整流程见 doc/distribution_linux.md。看懂数据深度相机给你的四类数据各在说什么相机给你的不是一张图而是四类数据各自回答不同的问题。彩色帧普通 RGB 照片给人看和展示用单位是像素。深度帧每个像素存着相机到物体的距离单位毫米0 表示没测出来。这是整个 SDK 的核心产出。基础设施帧红外左右红外相机拍下的图是算深度的原料人眼在暗处看到的就是它。点云把每个深度像素按相机参数投影到三维空间得到 (x, y, z) 坐标集合是机器人抓取和 3D 扫描的起点。完成最常用的四个操作从出流到调参装完之后的日常工作基本就这四件事。跑通第一个出流程序用 pipeline 接口因为它把配置、启动、取帧打包成一个对象5 行就能出数。import pyrealsense2 as rs pipe rs.pipeline() pipe.start() frames pipe.wait_for_frames() print(frames.get_depth_frame().get_distance(320, 240))保存后运行 → 终端打印画面中心像素的距离单位是米。C 版等价物是示例目录里的 hello-realsense完整示例清单在 examples/。把深度变成 3D 点云深度帧还是二维的点云把它立起来。编译时带-DBUILD_EXAMPLEStrue运行 rs-pointcloud → 弹出一个实时 3D 点云窗口鼠标可以旋转和缩放。每个深度像素都用标定数据相机镜头参数SDK 已内置算出自己的三维坐标。录制与回放 .db3 文件把现场一次流式会话存成文件之后不接相机也能反复调试。.db3 是基于 SQLite 的录制文件和 ROS2 的 rosbag2 同格式标准 ROS2 工具能直接打开。代码侧两个对象各管一头rs2::recorder 把真实设备包成边用边录的设备rs2::playback 把文件加载成只读设备两者用法和普通设备一致还能 seek、变速。viewer 里在 Settings Playback Record 勾选录制。注意想让文件被 ROS2 工具兼容把压缩选项设成 Never Compress。细节看 doc/record-and-playback.md。打开 D400 高级模式控制面板在 viewer 里开启高级模式 → 出每个传感器的独立控制项激光功率、曝光、帧率都能单独调开启动作会写进相机闪存重置相机后也不用再开。过一遍三个高频故障找不到相机、深度图有洞、颜色对不齐真实问题大多落在这三类里各按现象 → 怎么查 → 看到什么 → 怎么解决走一遍。系统找不到相机现象lsusb | grep 8086无输出viewer 列表是空的程序报找不到设备。怎么查先看 USB 层再看内核日志。lsusb | grep 8086 dmesg | tail -508086 是 RealSense 的 USB 厂商号第一条确认硬件是否被系统看到第二条看驱动有没有报错。看到什么lsusb 为空是 USB 层问题lsusb 有设备但 dmesg 里 uvcvideo 报错是驱动层问题。怎么解决换到 USB3 口口内是蓝色换原装线刚升级过内核的话重跑一次内核补丁脚本再插拔相机。深度图大片空洞现象深度图大面积黑色0 值物体边缘锯齿深度质量工具的 Fill Rate有效像素占比直接反映图能用来算的比例只有 78% 左右。怎么查编译 post-processing 示例挂上空间滤波器spatial filter让每个像素参考邻居值平滑。看到什么开启后 Fill Rate 升到 92% 左右边缘变连续把它的 alpha 强度参数调到 0空洞立刻回来证明是滤波在起作用。怎么解决空间滤波常开再叠一个时域滤波器temporal filter默认时间常数 200 ms压掉逐帧抖动的噪点。颜色和深度对不齐现象深度帧和彩色帧叠在一起同一个物体的轮廓错位点云颜色串边。怎么查跑 align 示例它把深度帧映射到彩色帧的坐标系空间对齐spatial alignment。看到什么对齐后两帧共用同一套像素网格错位消失单帧对齐开销几毫秒实时流完全够用。怎么解决下游计算统一用对齐后的深度帧需要反方向彩色到深度映射时看 align-advanced 示例。平台差异与高频坑差异集中在 Linux 驱动环节Windows 和 Python 路线基本没有摩擦。平台安装方式验证驱动备注Ubuntu 20/22/24官方 apt 包modinfo 输出含 realsense推荐路线功能最完整非 LTS 内核 / 其他发行版源码编译 手动补丁dmesg 出现新 uvcvideo 注册需自己确认内核版本受支持Windows官方预编译 bundle设备管理器识别相机不用打内核补丁macOS源码编译依赖走 Homebrewlsusb 看到设备文档见 doc/installation_osx.md仅 Pythonpip install pyrealsense2lsusb 看到 8086 设备起步最快高频坑按症状 → 原因 → 解法记lsusb | grep 8086为空相机插了 USB2 口或线不行 → 换 USB3 口换原装线。dmesg 报tainting kernel内核 4.4 之后的常规警告不影响功能 → 忽略。编译报fastrtps/fastcdr错找不到 DDS 依赖 → cmake 加-DBUILD_WITH_DDSOFF。编译报 curl 依赖错更新检查模块找不到 libcurl → cmake 加-DCHECK_FOR_UPDATESOFF。gcc: internal compiler error编译内存不够 → 关掉占内存的程序虚拟机里把内存加到至少 2 GB。虚拟机里相机行为诡异USB3 透传有损耗官方不保证 VM 支持 → 要用就选 VMware 并确认 USB3 控制器模拟正常。现在就做插好相机运行 realsense-viewer → 彩色、深度、红外三个视口亮起。跑一遍上面那段 5 行脚本拿到你的第一个深度数值。相机不亮就先lsusb | grep 8086按第一节的顺序往下排。【免费下载链接】librealsenseRealSense SDK项目地址: https://gitcode.com/GitHub_Trending/li/librealsense创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考