DvsenseDriver  1.2.5
The SDK for dvsense products.
载入中...
搜索中...
未找到
bias设置使用教程

该部分介绍如何通过 API 设置事件传感器 Bias。DVSLume、DVSLume-G1 和 DVSync 使用同一组 IMX636 参数;DM3 搭载 genx320,参数名称和范围不同。

Bias介绍

所有 Bias 均表示相对默认硬件值的偏移量,偏移默认值为 0。请优先使用 getAllParamInfo() 获取当前设备实际提供的参数和范围。

DVSLume、DVSLume-G1、DVSync

参数 最小值 最大值 默认偏移
bias_fo -20 0 0
bias_hpf 0 120 0
bias_diff_on -80 145 0
bias_diff -25 23 0
bias_diff_off -30 200 0
bias_refr -20 235 0

DM3(genx320)

参数 最小值 最大值 默认偏移
bias_pr_hv0 -61 66 0
bias_fo_hv0 -39 88 0
bias_hpf_lv0 0 127 0
bias_diff_on_lv0 -24 103 0
bias_diff_lv0 -51 76 0
bias_diff_off_lv0 -19 108 0
bias_refr_lv0 -82 45 0

调整对比度阈值可能显著增加事件量并造成内存堆积或延迟。bias_pr_hv0bias_diff_lv0 建议保持默认值。

Bias API操作

获取bias句柄

普通事件相机通过 dvsense::DvsCamera::getTool 获取 Bias 工具;DVSync 通过 dvsense::FusionCamera::getTool 获取。

#include "DvsenseDriver/camera/DvsCamera.hpp"
std::shared_ptr<dvsense::CameraTool> bias = device_->getTool(dvsense::ToolType::TOOL_BIAS);
@ TOOL_BIAS
定义 ToolInfo.h:28

获取到 Bias 工具后,按对应传感器的参数名进行配置:

int value;
// DVSLume、DVSLume-G1、DVSync
bool ret = bias->getParam("bias_diff_on", value);
ret = bias->setParam("bias_diff_on", 10);
// DM3
ret = bias->getParam("bias_diff_on_lv0", value);
ret = bias->setParam("bias_diff_on_lv0", 10);

获取参数信息

const std::map<std::string, BasicParameterInfo> param_info = bias->getAllParamInfo();

获取的参数信息类型为 参数名称 和 参数基本信息 的 std::map,参数基本信息的类型为 dvsense::BasicParameterInfo, 其中包含基本的参数信息, 如参数名称, 参数描述,参数类型

根据基本参数信息来定义具体的参数类型

参数类型可参考dvsense::ToolParameterType

以下为dvsense::ToolParameterType::INT的示例:

{
bool ret = bias->getParamInfo(info.name, int_info);//通过getParamInfo获取详细的参数信息
}
@ INT
定义 ToolInfo.h:59
整数参数的详细信息。
定义 ToolInfo.h:98

对参数进行读取及设置

通过dvsense::CameraTool::getParamdvsense::CameraTool::setParam 对具体的参数进行读取与设置

int value;
bool ret = bias->getParam(int_info.name, value);
bool ret = bias->setParam(int_info.name, value);