ZED相机深度模式+ZED sl中函数介绍

ZED SDK提供两种深度感应模式:STANDARD和FILL。

STANDARD模式是ZED的默认深度感应模式。该STANDARD模式保留距离度量和形状,并且比FILL模式运行得更快,但它包含由于视觉遮挡和过滤而产生的洞。这些孔由深度图像中的黑色区域表示。将STANDARD模式用于自主导航,障碍物检测,3D制图,人员检测和跟踪等应用。

要配置深度感知的STANDARD方式,设置SENSING_MODE_STANDARDRuntimeParameters

// Grab depth in STANDARD mode
RuntimeParameters runtime_parameters;
runtime_parameters.sensing_mode = SENSING_MODE_STANDARD.

STANDARD模式下,孔(黑色像素)根据其类型具有不同的值。它们与枚举相关联:

  • NAN称为OCCLUSION_VALUE。无法估计像素的深度,因为它被遮挡或异常。
  • -INFINITY称为TOO_CLOSE。无法估计像素的深度,因为它太靠近相机。
  • INFINITY称为TOO_FAR。无法估计像素的深度,因为它离相机太远。

您可以使用检查有效的深度值isValidMeasure()

 

FILL模式提供了一个完全密集的深度图,左图像中的每个像素(X,Y)都有一个Z值。该FILL模式填充深度图中的孔和遮挡,并添加了一个过滤阶段,可以改善边缘和时间稳定性,但可以改变场景中对象的实际距离。

建议将此模式用于混合现实捕捉和视觉效果等应用。该FILL模式需要更多资源,并且将以比STANDARD模式更低的FPS 运行。

要配置深度感知的FILL方式,设置SENSING_MODE_FILLRuntimeParameters

 

深度模式

一些深度模式可用来改善某些应用程序的性能:ULTRAQUALITYMEDIUMPERFORMANCE。这些设置调整深度感测模块的精度,范围和计算性能水平。

  • Ultra模式提供最高的深度范围,并在感应范围内更好地保留Z精度。
  • 质量和中等模式在质量和速度之间提供折衷。
  • 性能模式禁用某些过滤操作,并以较低的分辨率进行操作以提高性能和帧速率。

一般来说,我们建议ULTRA在桌面和嵌入式应用程序中使用该模式。如果您的应用程序需要大量资源,请切换到PERFORMANCE模式。

深度范围

深度范围对应于可以估计物体深度的最小和最大距离。

ZED相机深度模式+ZED sl中函数介绍_第1张图片

获取深度数据

要提取场景的深度贴图,请使用grab()抓取新图像并retrieveMeasure()检索左图像上对齐的深度。retrieveMeasure()可用于检索深度图,置信度图或点云。

最小范围

使用中的depth_minimum_distance设置可以将最小范围从默认值降低InitParameters

InitParameters init_parameters;
init_parameters.coordinate_units = UNIT_METERS;
init_parameters.depth_minimum_distance = 0.15 ; // Set the minimum depth perception distance to 15cm

最大范围

使用可以增加最大范围setDepthMaxRange()。我们建议使用ULTRA深度模式来提高远距离的深度精度。

InitParameters init_parameters;
init_parameters.depth_mode = DEPTH_MODE_ULTRA ; // Set the depth mode to ULTRA
init_parameters.coordinate_units = UNIT_METER;
zed.setDepthMaxRangeValue(40); // Set the maximum depth perception distance to 40m

提示:

  • 使用可以减小最大深度范围以将钳位值限制在特定距离以上setDepthMaxRange()。这对于减少远距离的深度抖动很有用。
  • 通过增加最小深度感知距离可以改善性能。对于需要远程深度感知的应用,我们建议设置depth_minimum_distance为1米或更长。

 

ZED相机中各种函数介绍

你可能感兴趣的:(ZED)