Basler blaze文档同时为Range、Intensity和Confidence列出Mono16格式。若只留下这个格式名称,三类数据似乎变成了同一种灰度图;但Component Selector先说明,每帧可以由一个或多个组件组成,每个组件再具有自己的像素格式。组件回答数据记录什么,格式回答这些数据怎样表示,二者需要一起保留。

Range组件提供深度信息,又有深度图与点云两种表示。深度图以每像素的灰值表示距离。文档在一般“目标与相机距离”的说法之后,进一步限定blaze的参照:目标到一个穿过光学中心、平行于传感器的假想图像平面的距离。这个平面是定义的一部分,不能在转述中直接改成相机外壳最前端。

点云则给每个像素分配相机坐标系中的x、y、z三个坐标。另一份Pixel Format页将其记录为三个32位浮点值,数据按行、按像素排列。它与单灰值深度图都属于Range,但每个点承载的内容不同;“都是深度数据”并没有让三个坐标缩成一个亮度值。

坐标的零位也分别交代。x和y在传感器中心像素处为零,z的零位则在相对于相机前端的、由设备决定的位置。两个说明分别限定横向中心与深度方向的参照,因此不能只用“原点在相机中心”概括全部轴。本文保留的是文档定义,没有查询某台实机的具体偏移或计算坐标。

Intensity记录另一种量:反射光脉冲的亮度,以每像素16位整数表示。文档从技术上称它为幅值图像,因为只包含近红外部分,环境光被滤除;发射光的波长也会使它与人对场景的视觉感受不同。由此,一幅看上去具有明暗层次的图,并不必然就是普通可见光照片,也不能把其中较亮区域直接解释成距离较远。

Confidence图描述深度数据有多可靠。文档说,像素收集到的光越多,置信值越高;没有可靠深度数据时,该像素在置信图中被置为零。这与Intensity中的反射幅值有联系,却仍以“深度是否可靠”为自己的解释对象。零值在这里表示缺乏可靠深度,不是自动报告目标处于距离零的位置。

Pixel Format页使这种差别更清楚。Range中的Mono16与Coord3D_C16等价,Intensity也使用Mono16,Confidence中的Mono16则与Confidence16等价。共同的16位整数容器没有统一数值含义,仍要回到组件身份理解。点云对不可靠或ROI外像素另有无效坐标值说明;深度图里,选定范围前后之外的对象也可能显示为黑色。因而,黑色与零值必须连同所在图和文档条件阅读。

本文采用Basler文档Version 136的上述定义及邻接,未执行启用组件、调节阈值或采图,也未把置信值当作生产检出率。它说明几种输出对象及其表示关系,不形成实际设备的测量或安全验收。

信息来源

本文基于上述公开资料整理,未使用来源页面的图片、视频或嵌入媒体。