多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

RealSense 环境配置:Windows下深度相机从接入到出数的完整流程

RealSense 环境配置:Windows下深度相机从接入到出数的完整流程 RealSense 环境配置Windows下深度相机从接入到出数的完整流程【免费下载链接】librealsenseRealSense SDK项目地址: https://gitcode.com/GitHub_Trending/li/librealsense把 RealSense 插到 Windows 机器上最常见的两个卡点设备管理器里根本没有这台相机或者流启动了、深度帧却一片灰。这篇教程按三关推进——先确认硬件能被系统识别再装好 SDK 拿到第一帧真实距离最后用日志和参数表排掉残留问题。目标是 60 分钟内让一个几十行的程序在终端里持续打印出以米为单位的深度距离。第一关让设备管理器认出发射设备先插相机再做其他一切。验证动作只有一个打开设备管理器devmgmt.msc在成像设备里找带Intel® RealSense™字样的条目。检查项要求不满足的后果操作系统Windows 10Build 15063建议 17763或 Windows 11UVC 元数据功能不可用工具链CMake 3.10Visual Studio 2019源码路线无法构建USB 端口USB 3.0面板上通常为蓝色2.0 口带宽不足帧率掉到个位数运行环境物理机官方不支持虚拟机USB 3.0 虚拟化层会丢帧⚠️ 官方明确不支持虚拟机环境。如果你现在就在 VM 里调试设备未识别先换物理机再谈其他。设备管理器能看到 RealSense 条目无黄色感叹号确认插口为 USB 3.0而不是 2.0第二关装上 SDK拿到第一帧数据两条路线按需选路线适合谁交付物官方发布页下载预编译包绝大多数人Viewer、全部示例、预编译库源码编译需要定制构建参数的人自编库 示例git clone https://gitcode.com/GitHub_Trending/li/librealsense.git cd librealsense cmake -G Visual Studio 17 2022 -A x64 -B build -DBUILD_EXAMPLESON -DENFORCE_METADATAON cmake --build build --config Release -j 8 cmake --install build --config Release预期结果构建日志出现realsense2.vcxproj - ...realsense2.dll。ENFORCE_METADATAON表示 WinSDK 版本不满足元数据要求时直接中止编译——比装完才发现缺功能好得多。元数据帧时间戳、温度等在 Windows 上需要写注册表脚本在 scripts/ 下。以管理员身份打开 PowerShellcd 安装目录\scripts .\realsense_metadata_win10.ps1 -op install⚠️ 报运行脚本被禁用时先执行Set-ExecutionPolicy RemoteSigned并输入Y再重跑。另外注册表项是设备唯一的每次新插一台 RealSense 都要重跑一次脚本。运行后用 regedit 打开HKLM\SYSTEM\CurrentControlSet\Control\DeviceClasses\{e5323777-f976-4f5b-9b55-b94699c46e44}应能看到值为 5 的MetadataBufferSizeInKB0/MetadataBufferSizeInKB1Release 构建成功产物中有 realsense2.dll元数据脚本执行无报错注册表出现对应项Viewer 能打开并显示实时画面第三关让它出数、变稳、排错最小可运行程序参照 examples/hello-realsense/ 的写法#include librealsense2/rs.hpp #include iostream int main() { rs2::pipeline pipe; // 管道顶层流控制入口 pipe.start(); // 用默认配置启动深度640x48030 while (true) { auto frames pipe.wait_for_frames(); // 阻塞等待一帧 auto depth frames.get_depth_frame(); // 取深度帧 if (!depth) continue; // 读画面中心点距离单位米 float dist depth.get_distance(depth.get_width()/2, depth.get_height()/2); std::cout \r相机前方物体距离: dist 米; } }对着 1 米内的物体读数应落在 0.52 米并持续刷新。终端连续刷出米制距离拔 USB 后程序抛rs2::error退出重插后能恢复想继续扩展时只记三个 APIrs2::config的enable_stream启用彩色流rs2::align把深度对齐到彩色坐标系rs2::pointcloud生成点云。现象原因处置程序里完全枚举不到相机Windows 隐私开关拦截设置 → 隐私 → 相机开启允许桌面应用访问相机能枚举、帧率个位数插在 USB 2.0 口换 USB 3.0 口换主板背板直连流起来了但深度发灰滤镜没加 / 帧被丢设set LRS_LOG_LEVELDEBUG查日志深度后接空间时域滤波set LRS_LOG_LEVELDEBUG .\hello-realsense.exe debug.log 21排错路径常用调优参数参数取值作用流分辨率640×48030fps稳定带宽优先于 1280×720ENFORCE_METADATAONWinSDK 不达标时直接中止编译避免静默降级BUILD_WITH_CUDAONGPU 加速点云等处理需先装 CUDA Toolkit下一步深入读 post-processing 滤镜文档 和 frame_metadata 文档在 examples/ 里挑 align、pointcloud 两个示例继续跑设备层面的疑难问题直接到仓库提 issue。【免费下载链接】librealsenseRealSense SDK项目地址: https://gitcode.com/GitHub_Trending/li/librealsense创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表