OpenNI2驱动说明¶
为了支持OpenNI2中的框架实现对SmartToF模组的调用,SDK中提供了相应支持的驱动库samrttof.dll, 该驱动依循OpenNI2在OniDriverAPI.h中的定义,主要包括了DriverService、DriverBase、DeviceBase、StreamBase 这几个类别,smarttof.dll的驱动源码在SDK中一同发布。
SmartToF模组的设置¶
SmartToF中的所有相关的参数设置和滤波功能的使用都通过smarttofStream类中的setProperty函数执行,根据setProperty 中的propertyId进行对应得设置。
下表列出了property的属性ID:
功能ID | 说明 |
---|---|
PROPERTY_ID_PARAM_SET | 模组参数设置ID |
PROPERTY_ID_PARAM_GET | 模组参数获取ID |
PROPERTY_ID_FILTER_LEN_CALIB_ENABLE | 镜头滤波使能 |
PROPERTY_ID_FILTER_LEN_CALIB_DISABLE | 镜头滤波关闭 |
PROPERTY_ID_FILTER_PIXEL_CALIB_ENABLE | 像素滤波使能 |
PROPERTY_ID_FILTER_PIXEL_CALIB_DISABLE | 像素滤波关闭 |
PROPERTY_ID_FILTER_AMP_CALIB_ENABLE | 幅值滤波使能 |
PROPERTY_ID_FILTER_AMP_CALIB_DISABLE | 幅值滤波关闭 |
PROPERTY_ID_FILTER_AUTO_INTG_ENABLE | 自动曝光使能 |
PROPERTY_ID_FILTER_AUTO_INTG_DISABLE | 自动曝光关闭 |
PROPERTY_ID_FILTER_TEMP_MONITOR_ENABLE | 温度监控使能 |
PROPERTY_ID_FILTER_TEMP_MONITOR_DISABLE | 温度监控关闭 |
PROPERTY_ID_FILTER_HDR_ENABLE | HDR功能使能 |
PROPERTY_ID_FILTER_HDR_DISABLE | HDR功能关闭 |
OpenNI2下模组设置示例代码¶
OpenNI2下可以通过setProperty将以上列表中的属性ID设置到SmartToF模组中去, 具体设置的代码示例可以参考下面的设置积分时间代码:
dmcam_param_item_t wparam; //setting integration time
wparam.param_id = PARAM_INTG_TIME;
wparam.param_val.intg.intg_us = intg;
wparam.param_val_len = sizeof(wparam.param_val.intg.intg_us);
depth.setProperty(PROPERTY_ID_PARAM_SET, (void *)&wparam, sizeof(wparam));
获取模组设置的代码如下:
dmcam_param_item_t rparam; //getting framerate
rparam.param_id = PARAM_FRAME_RATE;
rparam.param_val_len = sizeof(rparam.param_val.frame_rate.fps);
depth.getProperty(PROPERTY_ID_PARAM_GET, &rparam);
printf("frame rate:%d fps\n", rparam.param_val.frame_rate.fps);