Table of Contents
WDR成像技术介绍
WDR——即宽动态范围图像(Wide-Dynamic Range,简称WDR),相比普通的图像,可以提供更宽的检测距离和更多的数据细节,利用每个检测范围对应最佳细节的图像来合成最终WDR图像,能够使图像中近处和远处的场景都得到最佳成像。
WDR成像原理
iToF技术中的WDR成像是一种图像处理技术,旨在扩展iToF相机远近检测的范围。在WDR功能下分别获取近距离与远距离图像,然后再通过算法进行融合生成一帧图像,该图像既可以包含场景中近距离目标,也可以包含场景中远距离目标。WDR 生成一帧图像的组成如下图所示:

WDR功能展示
场景中既包括近距离的目标(约1.7m),也包括远距离的目标(约5.5m)。如下图所示:

由于普通模式的检测范围有限,图像无法同时既检测近处目标又检测远处目标。WDR开启和关闭后的成像效果如下图所示:

WDR的缺陷
WDR模式需要多次曝光产生不同参数的图像再进行算法融合,因此一定会出现不同程度的动态模糊,抖动过大的现象。推荐应用在静态目标场景。
WDR功能实现方式
ScepterGUITool 中WDR的应用
在ScepterGUITool中,可以通过WDR开关来开启或关闭WDR功能,如下图所示:

点击”Settings“按钮,WDR曝光时间的配置页面 “WDRConfig“,分别设置近距离(Frame Index 0)与远距离(Frame Index 1)的曝光时间,如下图所示:

软件中通过API使能WDR
例程参考:
BaseSDK/Windows/Samples/Base/NYX650/ToFExposureTimeOfWDRSetGet。
1、WDR状态(打开/关闭)可以通过以下 API 设置/获取:
//设置WDR状态开启/关闭
ScStatus scSetWDRModeEnabled(ScDeviceHandle device, bool bEnabled);
//获取HDR状态开启/关闭设置
ScStatus scGetWDRModeEnabled(ScDeviceHandle device, bool* bEnabled);
2、可以通过 API 获取WDR的组成frame数量:
//获取WDR的组成frame数量
ScStatus scGetFrameCountOfWDRMode(ScDeviceHandle device, int32_t* pCount);
3、WDR对应frame的曝光时间可以通过以下 API 设置/获取:
//设置组成WDR对应frame的曝光时间
ScStatus scSetExposureTimeOfWDR(ScDeviceHandle device, uint8_t frameIndex, int32_t exposureTime);
//获取组成WDR对应frame的曝光时间
ScStatus scGetExposureTimeOfWDR(ScDeviceHandle device, uint8_t frameIndex, int32_t* pExposureTime);
4、在WDR模式下,可以通过 API 获取ToF传感器的最大曝光时间:
//在WDR模式下,获取组成WDR对应frame的曝光时间范围
ScStatus scGetMaxExposureTimeOfWDR(ScDeviceHandle device, uint8_t frameIndex, int32_t* pMaxExposureTime);
注意:产品是否支持WDR功能请参见产品介绍,HDR和WDR仅支持单一功能起效,不可同时起效。