[具身智能-1155]:深度相机伪彩色图像(Pseudo‑color Depth)

📅 2026/8/21 6:26:38
[具身智能-1155]:深度相机伪彩色图像(Pseudo‑color Depth)
深度相机伪彩色图像Pseudo‑color Depth核心伪彩色图像只是可视化产物不是深度相机硬件直接输出的数据。硬件输出原始深度图uint16单位 mm伪彩色是软件通过颜色映射表colormap**把距离数值翻译成 RGB 彩色图像专门给人看的不能直接拿去做 3D 计算、转点云。一、原始深度图 vs 伪彩色深度图表格项目原始深度图硬件输出伪彩色深度图可视化数据类型单通道CV_16UC1uint16三通道 RGBCV_8UC3像素含义像素值 真实物理距离毫米颜色只代表远近相对关系颜色本身没有距离单位无效值0 代表无效深度无效区域渲染为黑色能否直接转点云✅可以直接用公式反投影❌不可以必须还原回原始深度数值来源深度相机 SDK 输出、ROS 话题Realsense‑Viewer、RViz、OpenCV 软件生成通俗理解原始深度图一张数字表格每个格子写着 “离相机多少毫米”伪彩色图给表格涂上颜色近的涂红远的涂蓝方便人肉眼观察但涂完颜色之后RGB 像素本身已经丢失毫米数值。二、颜色映射逻辑伪彩色生成流程输入原始 16 位深度图0为无效点过滤无效值深度 0设置输出为黑色在有效深度区间[min_depthmax_depth]做归一化把距离映射到 0‑255查表colormap 调色板每个 0‑255 灰度值对应一组 RGB输出三通道彩色图像就是伪彩色深度图。通用配色习惯Jet 最常见红色、橙黄近处物体绿色、青色中等距离蓝色、紫色远处物体黑色深度无效无测量结果注意颜色对应的距离受min_depth/max_depth参数影响。同样 1.5 米映射范围改成 0‑3 米和 0‑10 米显示出来的颜色完全不一样。不能凭颜色直接读距离必须看色标条。常用调色板Jet彩虹Realsense Viewer、RViz 默认视觉对比强但亮度不均匀容易产生视觉误判CSDN博...。Viridis / Plasma / Inferno科研推荐亮度单调变化对色盲友好工程上越来越多使用CSDN博...。三、深度相机数据流链路plaintext深度相机硬件 → 原始深度图 uint16(mm) ↓ SDK/驱动直接输出原始深度图给算法、ROS使用 ↓ 【软件可视化模块】做颜色映射 → 伪彩色RGB图像仅用于屏幕显示⚠️重点深度相机不会直接输出伪彩色流。你在 Realsense Viewer 看到的彩色深度画面是软件实时算出来的可视化画面USB 线上传输的依然是原始单通道深度数据。四、Python 示例原始深度图生成伪彩色python运行import cv2 import numpy as np # 读取原始深度图 16位PNGuint16单位mm depth_raw cv2.imread(depth.png, cv2.IMREAD_UNCHANGED) # 掩码深度等于0为无效 mask_invalid (depth_raw 0) # 只对有效区域做归一化 depth_valid depth_raw[~mask_invalid] d_min, d_max np.percentile(depth_valid, (5,95)) # 去掉极端异常值 # 归一化到0‑255 norm np.clip(depth_raw, d_min, d_max) norm (norm - d_min) / (d_max - d_min) * 255 norm norm.astype(np.uint8) # 伪彩色映射 depth_color cv2.applyColorMap(norm, cv2.COLORMAP_JET) # 无效区域设置黑色 depth_color[mask_invalid] [0,0,0] cv2.imwrite(depth_pseudo_color.png, depth_color)五、工程中常见踩坑点❌误区拿伪彩色 PNG 去做深度图转点云。 伪彩色图像的 R/G/B 像素不是距离无法还原出原始毫米数值一定会出错。做算法、SLAM、点云转换必须使用原始 16 位深度图不能用伪彩色图。映射范围动态变化。 同样场景当最大最小距离改变同一个物理距离渲染出来的颜色会改变不能靠颜色做定量判断仅做定性观察。无效值丢失。 做归一化时如果不把深度 0 单独掩码处理0 值会参与归一化计算黑色空洞会被渲染成彩色。RViz / Realsense Viewer 保存图片。 GUI 截图得到的是伪彩色可视化图片需要导出真实深度数据要保存 16bit PNG/NPY而不是截图。六、伪彩色的用途调试快速肉眼观察场景深度分布看哪些区域空洞、噪声、遮挡演示、报告可视化缺陷检测快速识别深度突变的位置半透明叠加把伪彩色叠加在 RGB 原图同时观察物体纹理与距离信息。七、一句话总结伪彩色深度图像是软件可视化产物不是相机原生输出。它将原始深度图的距离数值通过调色板映射成 RGB 彩色方便人眼观察但丢失真实物理距离不能用于 3D 算法、点云转换。做工程开发始终使用 uint16 原始深度图伪彩色只用来调试看效果。