跳转到内容
STAGING SERVER
DEVELOPMENT SERVER

blaze:将深度信息可视化为 RGB 图像#

您正在使用 Basler blaze-101 相机,并希望将深度信息映射到彩色图像。

您可以在此处找到有关如何将深度信息可视化为 RGB 图像的详细信息。

本文知识库文章提供了一些附加信息。

Scaling 因子与相机是在 Short Range 还是 Long Range 模式下运行无关。深度图像与强度图像完全独立,也就是说,坐标的计算与其无关。该计算取决于您如何捕获距离图。

使用 blaze Legacy SDK 或 pylon SDK 获取的距离图#

使用 pylon API 或 ROS 驱动程序捕获的原始图像是通过将 [0mm..10000mm] 的 z 值映射到 [0..65535] 的灰度值生成的。

使用以下给出的 Scaling 因子 gray2mm == Scan3dCoordinateScale. DepthMin 和 DepthMax 参数无需考虑。

对于 blaze-101, gray2mm 是一个常数值,且 gray2mm = 10000/65535 = 0.15259。这得出:

测得的距离 [mm] = Gray_Value * gray2mm = Gray_Value * 0.15259

使用 blaze Viewer 获取的距离图#

blaze Viewer 捕获点云数据,并从 3D 数据生成自己的距离图。由 blaze Viewer 生成的距离图与使用 API 捕获的“原始”深度图像之间唯一的区别是不同的 Scaling。

blaze Viewer 接收获取到的距离图并对其进行重新 Scaling,将 [MinDepth..MaxDepth] z 值映射到 [0..65535] 灰度值。这增强了显示(和保存)图像的对比度。在这种情况下,必须应用以下公式:

测得的距离 [mm] = DepthMin + (Pixel_Value x (DepthMax - DepthMin)) / 65535

请注意,此映射是 blaze viewer 对深度数据执行的唯一处理。

信息

如果您使用 blaze viewer 将距离图像保存为 8 位图像,则 16 位数据将被映射到 8 位。这意味着 [MinDepth..MaxDepth] z 值将被映射到 [0..255]。因此,要将这些 8 位灰度值转换为 z 值,需应用不同的公式:

测得的距离 [mm] = DepthMin + (Pixel_Value x (DepthMax - DepthMin)) / 255

不过,不建议使用 8 位距离图像,因为缩减至 256 种不同的灰度值会因量化误差而导致精度大幅下降。

返回知识库文章