MI NIR IQ API
REVISION HISTORY¶
Revision No. | Description |
Date |
---|---|---|
0.1 | 01/20/2022 | |
0.2 | 02/11/2022 | |
0.3 | 03/07/2022 |
1. API参考¶
1.1. 概述¶
NIR是SStar 通过VIS 和 NIR 采集的图像融合成新的图像,在黑暗环境下,既可以输出高质量彩色画面,又可以减少光污染。
1.2. 流程图¶
输入图像在dram中的格式见下面关键字的说明。
1.3. 关键说明¶
Input dram layout:
VIS: Visible可见光谱
NIR: near-infrared 近红外
Device: NIR硬件设备
Channel: NIR设备的通道,各个通道分时复用NIR 硬件
输入图像格式: YUV420SP
输出图像格式: YUV420SP
输入分辨率:
Muffin:最大支持 2688 x 1520。支持输入图像宽度8Pixel对齐,Stride 16 对齐。
输出分辨率: 跟输入分辨率一致
2. 功能模块API¶
如下是MI NIR IQ模块的用户接口。
API名 | 功能 |
---|---|
系统功能类 | |
MI_NIR_IQ_SetBlendingSaturation | 配置VIS/NIR混合饱和度 |
MI_NIR_IQ_GetBlendingSaturation | 获取VIS/NIR混合饱和度 |
MI_NIR_IQ_SetContrast | 配置NIR功能的对比度 |
MI_NIR_IQ_GetContrast | 获取NIR功能的对比度 |
MI_NIR_IQ_SetSaturation | 配置NIR功能的饱和度 |
MI_NIR_IQ_GetSaturation | 获取NIR功能的饱和度 |
MI_NIR_IQ_SetWeight | 配置NIR功能VIS/NIR比例权重决策 |
MI_NIR_IQ_GetWeight | 获取NIR功能VIS/NIR比例权重决策 |
MI_NIR_IQ_ApiCmdLoadBinFile | 加载IQ bin |
2.1. MI_NIR_IQ_SetBlendingSaturation¶
-
功能
配置VIS/NIR混合饱和度。
-
语法
MI_S32 MI_NIR_IQ_SetBlendingSaturation(MI_U32 DevId, MI_U32 ChnId, MI_NIR_IQ_BlendingSaturationAttr_t *data);
-
形参
参数名称 描述 输入/输出 DevId Device ID 输入 ChnId Channel ID 输入 *data 混合饱和度参数的指针 输入 -
返回值
-
MI_NIR_OK(0):成功。
-
非0:失败,参照错误码。
-
-
依赖
-
头文件:mi_nir_iq.h
-
库文件:libmi_nir.a / libmi_nir.so
-
-
Related APIs
MI_NIR_IQ_GetBlendingSaturation
2.2. MI_NIR_IQ_GetBlendingSaturation¶
-
功能
获取VIS/NIR混合饱和度。
-
语法
MI_S32 MI_NIR_IQ_GetBlendingSaturation (MI_U32 DevId, MI_U32 ChnId, MI_NIR_IQ_BlendingSaturationAttr_t *data);
-
形参
参数名称 描述 输入/输出 DevId Device ID 输入 ChnId Channel ID 输入 *data 混合饱和度参数的指针 输出 -
返回值
-
MI_NIR_OK(0):成功。
-
非0:失败,参照错误码。
-
-
依赖
-
头文件:mi_nir_iq.h
-
库文件:libmi_nir.a / libmi_nir.so
-
-
Related APIs
2.3. MI_NIR_IQ_SetContrast¶
-
功能
配置NIR功能的对比度。
-
语法
MI_S32 MI_NIR_IQ_SetContrast(MI_U32 DevId, MI_U32 ChnId, MI_NIR_IQ_ContrastAttr_t *data);
-
形参
参数名称 描述 输入/输出 DevId Device ID 输入 ChnId Channel ID 输入 *data 对比度参数的指针 输入 -
返回值
-
MI_NIR_OK(0):成功。
-
非0:失败,参照错误码。
-
-
依赖
-
头文件:mi_nir_iq.h
-
库文件:libmi_nir.a / libmi_nir.so
-
-
注意
Muffin:不支持接口
-
Related APIs
MI_NIR_IQ_GetContrast
2.4. MI_NIR_IQ_GetContrast¶
-
功能
获取NIR功能的对比度。
-
语法
MI_S32 MI_NIR_IQ_GetContrast(MI_U32 DevId, MI_U32 ChnId, MI_NIR_IQ_ContrastAttr_t *data);
-
形参
参数名称 描述 输入/输出 DevId Device ID 输入 ChnId Channel ID 输入 *data 对比度参数的指针 输出 -
返回值
-
MI_NIR_OK(0):成功。
-
非0:失败,参照错误码。
-
-
依赖
-
头文件:mi_nir_iq.h
-
库文件:libmi_nir.a / libmi_nir.so
-
-
注意
Muffin:不支持接口
-
Related APIs
2.5. MI_NIR_IQ_SetSaturation¶
-
功能
配置NIR功能的饱和度
-
语法
MI_S32 MI_NIR_IQ_SetSaturation (MI_U32 DevId, MI_U32 ChnId, [MI_NIR_IQ_SaturationAttr_t *data);
-
形参
参数名称 描述 输入/输出 DevId Device ID 输入 ChnId Channel ID 输入 *data 饱和度参数的指针 输入 -
返回值
-
MI_NIR_OK(0):成功。
-
非0:失败,参照错误码。
-
-
依赖
-
头文件:mi_nir_iq.h
-
库文件:libmi_nir.a / libmi_nir.so
-
-
注意
Muffin:不支持接口
-
Related APIs
MI_NIR_IQ_GetSaturation
2.6. MI_NIR_IQ_GetSaturation¶
-
功能
获取NIR功能的饱和度
-
语法
MI_S32 MI_NIR_IQ_GetSaturation (MI_U32 DevId, MI_U32 ChnId, [MI_NIR_IQ_SaturationAttr_t *data);
-
形参
参数名称 描述 输入/输出 DevId Device ID 输入 ChnId Channel ID 输入 *data 饱和度参数的指针 输出 -
返回值
-
MI_NIR_OK(0):成功。
-
非0:失败,参照错误码。
-
-
依赖
-
头文件:mi_nir_iq.h
-
库文件:libmi_nir.a / libmi_nir.so
-
-
注意
Muffin:不支持接口
-
Related APIs
2.7. MI_NIR_IQ_SetWeight¶
-
功能
配置NIR功能VIS/NIR比例权重决策。
-
语法
MI_S32 MI_NIR_IQ_SetWeight (MI_U32 DevId, MI_U32 ChnId, MI_NIR_IQ_WeightAttr_t *data);
-
形参
参数名称 描述 输入/输出 DevId Device ID 输入 ChnId Channel ID 输入 *data VIS/NIR比例权重决策的指针 输入 -
返回值
-
MI_NIR_OK(0):成功。
-
非0:失败,参照错误码。
-
-
依赖
-
头文件:mi_nir_iq.h
-
库文件:libmi_nir.a / libmi_nir.so
-
-
Related APIs
2.8. MI_NIR_IQ_GetWeight¶
-
功能
获取NIR功能VIS/NIR比例权重决策。
-
语法
MI_S32 MI_NIR_IQ_GetWeight (MI_U32 DevId, MI_U32 ChnId, MI_NIR_IQ_WeightAttr_t *data);
-
形参
参数名称 描述 输入/输出 DevId Device ID 输入 ChnId Channel ID 输入 *data VIS/NIR比例权重决策的指针 输出 -
返回值
-
MI_NIR_OK(0):成功。
-
非0:失败,参照错误码。
-
-
依赖
-
头文件:mi_nir_iq.h
-
库文件:libmi_nir.a / libmi_nir.so
-
-
Related APIs
2.9. MI_NIR_IQ_ApiCmdLoadBinFile¶
-
功能
加载IQ bin。
-
语法
MI_S32 MI_NIR_IQ_ApiCmdLoadBinFile(MI_U32 DevId, MI_U32 Channel, char *filepath, MI_U32 user_key);
-
形参
参数名称 描述 输入/输出 DevId Device ID 输入 Channel Channel ID 输入 filepath IQ bin文件的路径 输入 user_key 客户的key 输入 -
返回值
-
MI_NIR_OK(0):成功。
-
非0:失败,参照错误码。
-
-
依赖
-
头文件:mi_nir_iq.h
-
库文件:libmi_nir.a / libmi_nir.so
-
3. 数据类型¶
相关数据类型、数据结构定义如下:
数据类型 | 定义 |
---|---|
MI_NIR_IQ_Bool_e | 布尔值的枚举结构体 |
MI_NIR_IQ_OpType_e | 工作模式的枚举结构体 |
MI_NIR_IQ_BlendingSaturationGain_t | 设定NIR混合饱和度的增益参数结构体 |
MI_NIR_IQ_BlendingSaturationCurve_t | 设定NIR混合饱和度的曲线参数结构体 |
MI_NIR_IQ_BlendingSaturationParam_t | 设定NIR混合饱和度的参数结构体 |
MI_NIR_IQ_BlendingSaturationAutoAttr_t | 设定NIR混合饱和度的自动模式属性结构体 |
MI_NIR_IQ_BlendingSaturationManualAttr_t | 设定NIR混合饱和度的手动模式属性结构体 |
MI_NIR_IQ_BlendingSaturationAttr_t | 设定NIR 混合饱和度的类型结构体 |
MI_NIR_IQ_ContrastParam_t | 设定NIR 对比度的参数结构体 |
MI_NIR_IQ_ContrastAutoAttr_t | 设定NIR对比度的自动模式属性结构体 |
MI_NIR_IQ_ContrastManualAttr_t | 设定NIR对比度的手动模式属性结构体 |
MI_NIR_IQ_ContrastAttr_t | 设定NIR 对比度的类型结构体 |
MI_NIR_IQ_SaturationParam_t | 设定NIR饱和度的参数结构体 |
MI_NIR_IQ_SaturationAutoAttr_t | 设定NIR饱和度的自动模式属性结构体 |
MI_NIR_IQ_SaturationManualAttr_t | 设定NIR饱和度的手动模式属性结构体 |
MI_NIR_IQ_SaturationAttr_t | 设定NIR 饱和度的类型结构体 |
MI_NIR_IQ_WeightParam_t | 设定VIS/NIR比例权重决策的参数结构体 |
MI_NIR_IQ_WeightAutoAttr_t | 设定VIS/NIR比例权重决策的自动模式属性结构体 |
MI_NIR_IQ_WeightManualAttr_t | 设定VIS/NIR比例权重决策的手动模式属性结构体 |
| MI_NIR_IQ_WeightAttr_t | 设定VIS/NIR比例权重决策的类型结构体 |
3.1. MI_NIR_IQ_Bool_e¶
-
说明
布尔值的枚举结构体。
-
定义
typedef enum { E_NIR_IQ_FALSE = 0, E_NIR_IQ_TRUE = !E_NIR_IQ_FALSE, E_NIR_IQ_BOOL_MAX } MI_NIR_IQ_Bool_e;
-
成员
成员名称 描述 E_NIR_IQ_FALSE 布尔值等于0 E_NIR_IQ_TRUE 布尔值等于0 E_NIR_IQ_BOOL_MAX 判断布尔值列举的最大值
3.2. MI_NIR_IQ_OpType_e¶
-
说明
工作模式的枚举结构体。
-
定义
typedef enum { E_NIR_IQ_OP_TYP_AUTO = 0, E_NIR_IQ_OP_TYP_MANUAL = !E_NIR_IQ_OP_TYP_AUTO, E_NIRNIR_IQ_OP_TYP_MODE_MAX } MI_NIR_IQ_OpType_e;
-
成员
成员名称 描述 E_NIR_IQ_OP_TYP_AUTO 自动工作模式 E_NIR_IQ_OP_TYP_MANUAL 手动工作模式 E_NIR_IQ_OP_TYP_MODE_MAX 判断工作模式枚举的最大值
3.3. MI_NIR_IQ_BlendingSaturationGain_t¶
-
说明
设定混合饱和度的增益参数结构体。
-
定义
typedef struct MI_NIR_IQ_BlendingSaturationGain_s { MI_U8 u8YGain; // 0~255 MI_U8 u8MaxUVRatio; } MI_NIR_IQ_BlendingSaturationGain_t;
-
成员
成员名称 描述 u8YGain VIS和NIR 混合时,亮度增益设定,u8YGain 值越小,VIS比例也高 颜色越接近VIS颜色 取值范围:0~255 u8MaxUVRatio 设置最大UV gain 值 取值范围:0~255 -
注意事项
Muffin: 支持增益调整。
3.4. MI_NIR_IQ_BlendingSaturationCurve_t¶
-
说明
设定混合饱和度的曲线参数结构体。
-
定义
typedef struct MI_NIR_IQ_BlendingSaturationCurve_s { MI_U16 u16CurveX[BLEND_SAT_X_NUM]; MI_U16 u16CurveY[BLEND_SAT_Y_NUM]; } MI_NIR_IQ_BlendingSaturationCurve_t;
-
成员
成员名称 描述 u16CurveX Blending Saturation Curve 的横坐标 ,每个值代表每格间隔,以2的幂次叠加,代表亮度值. BLEND_SAT_X_NUM = 8. 取值范围:0~11 u16CurveY Blending Saturation Curve 的的纵坐标,值越大,VIS比例也高 颜色越接近VIS颜色。BLEND_SAT_Y_NUM = 9. 取值范围:07:04095; 8:-2048~2047 -
注意事项
Muffin:不支持
-
举例
u16CurveX[BLEND_SAT_X_NUM ] = {5,5,7,6,8,9,10,11}
u16CurveY[BLEND_SAT_Y_NUM ] = {0,2220,4095,4095,4095,4095,4095,4095,4095}
上面的曲线表示在X>64 以后,混合饱和度基本上接近VIS的饱和度
3.5. MI_NIR_IQ_BlendingSaturationParam_t¶
-
说明
设定混合饱和度的参数结构体。
-
定义
typedef struct MI_NIR_IQ_BlendingSaturationParam_s { union { MI_NIR_IQ_BlendingSaturationGain_t stBlendingSatgain; MI_NIR_IQ_BlendingSaturationCurve_t stBlendingSatLut; } } MI_NIR_IQ_BlendingSaturationParam_t;
-
成员
成员名称 描述 stBlendingSatGain 混合饱和度增益参数 stBlendingSatLut 混合饱和度曲线参数 -
注意事项
Muffin:支持增益参数调整,不支持曲线调整,
3.6. MI_NIR_IQ_BlendingSaturationAutoAttr_t¶
-
说明
设定NIR混合饱和度的自动模式属性结构体。
-
定义
typedef struct BlendingSaturationAutoAttr_s { MI_NIR_IQ_BlendingSaturationParam_t stParaAPI[MI_NIR_AUTO_NUM]; } BlendingSaturationAutoAttr_t;
-
成员
成员名称 描述 stParaAPI[MI_NIR_AUTO_NUM]; 自动模式属性结构体,MI_NIR_AUTO_NUM = 16 ,该数组的16个值分别对应在不同增益下得设定值
3.7. MI_NIR_IQ_BlendingSaturationManualAttr_t¶
-
说明
设定NIR混合饱和度的手动模式属性结构体。
-
定义
typedef struct MI_NIR_IQ_BlendingSaturationManualAttr_s { MI_NIR_IQ_BlendingSaturationParam_t stParaAPI; } MI_NIR_IQ_BlendingSaturationManualAttr_t;
-
成员
成员名称 描述 stParaAPI; 手动模式属性结构体
3.8. MI_NIR_IQ_BlendingSaturationAttr_t¶
-
说明
设定NIR 混合饱和度的类型结构体。
-
定义
typedef struct MI_NIR_IQ_BlendingSaturationAttr_s { MI_NIR_IQ_Bool_e bEnable; MI_NIR_IQ_OpType_e enOpType; MI_NIR_IQ_BlendingSaturationAutoAttr_t stAuto; MI_NIR_IQ_BlendingSaturationManualAttr_t stManual; } MI_NIR_IQ_BlendingSaturationAttr_t;
-
成员
成员名称 描述 bEnable 设置NIR混合饱和度的布尔值
关闭:E_NIR_IQ_FALSE = 0
开启:E_NIR_IQ_TRUE = 1enOpType 设定NIR混合饱和度的工作模式
自动模式:E_NIR_IQ_OP_TYP_AUTO =0
手动模式:E_NIR_IQ_OP_TYP_MANUAL =1stAuto 设置NIR 混合饱和度的自动模式结构体 stManual 设置NIR 混合饱和度的手动模式结构 -
相关数据类型及接口
3.9. MI_NIR_IQ_ContrastParam_t¶
-
说明
设定Contrast 的参数结构体。
-
定义
typedef struct MI_NIR_IQ_ContrastParam_s { MI_U16 u16ContrastThe; MI_U16 u16ContrastMin; MI_U16 u16CurveX[CONTRAST_X_NUM]; MI_U16 u16CurveY[CONTRAST_Y_NUM]; } MI_NIR_IQ_ContrastParam_t;
-
成员
成员名称 描述 u16ContrastThe NIR对比度权重设置的阈值,取值范围: 0~4095 u16ContrastMin NIR对比度权重设置的最小值,取值范围: 0~4095 u16CurveX[CONTRAST_X_NUM] 对比度调整曲线的横坐标,每个值代表每格间隔,以2的幂次叠加,代表NIR与 NIR 差的绝对值. CONTRAST_X_NUM = 8. 取值范围:0~11 u16CurveY[CONTRAST_Y_NUM] 对比度调整曲线的纵坐标,参数的值越小,NIR权重越小,越保留VIS 对比度,同时有可能造成融合画面的细节减少. CONTRAST_Y_NUM = 9. 取值范围:0 ~ 6142 -
举例
u16CurveX[CONTRAST_X_NUM ] = 8,9,10,9,10,9,8,11;
u16CurveX[CONTRAST_Y_NUM ] = 4095,4095,0,0,0,0,0,0,0;
X < 256, 不改变NIR input的权重
X > 765, 将NIR input 减低最低,主要以VIS 对比度为主
3.10. MI_NIR_IQ_ContrastAutoAttr_t¶
-
说明
设定NIR对比度的自动模式属性结构体。
-
定义
typedef struct MI_NIR_IQ_ContrastAutoAttr_s { MI_NIR_IQ_ContrastParam_t stParaAPI[MI_NIR_AUTO_NUM]; } MI_NIR_IQ_ContrastAutoAttr_t;
-
成员
成员名称 描述 stParaAPI[MI_NIR_AUTO_NUM]; 自动模式属性结构体,MI_NIR_AUTO_NUM = 16 ,该数组的16个值分别对应在不同增益下得设定值
3.11. MI_NIR_IQ_ContrastManualAttr_t¶
-
说明
设定NIR对比度的手动模式属性结构体。
-
定义
typedef struct MI_NIR_IQ_ContrastManualAttr_s { MI_NIR_IQ_ContrastParam_t stParaAPI; } MI_NIR_IQ_ContrastManualAttr_t;
-
成员
成员名称 描述 stParaAPI; 手动模式属性结构体
3.12. MI_NIR_IQ_ContrastAttr_t¶
-
说明
设定NIR contrast的类型结构体。
-
定义
typedef struct MI_NIR_IQ_ContrastAttr_s { MI_NIR_IQ_Bool_e bEnable; MI_NIR_IQ_OpType_e enOpType; MI_NIR_IQ_ContrastAutoAttr_t stAuto; MI_NIR_IQ_ContrastManualAttr_t stManual; } MI_NIR_IQ_ContrastAttr_t;
-
成员
成员名称 描述 bEnable 设置NIR 对比度的布尔值 关闭:E_NIR_IQ_FALSE = 0 开启:E_NIR_IQ_TRUE = 1 enOpType 设定NIR对比度的工作模式 自动模式:E_NIR_IQ_OP_TYP_AUTO =0 手动模式:E_NIR_IQ_OP_TYP_MANUAL =1 stAuto 设置NIR 对比度的自动模式结构体 stManual 设置NIR 对比度的手动模式结构 -
相关数据类型及接口
3.13. MI_NIR_IQ_SaturationParam_t¶
-
说明
设定饱和度的参数结构体。
-
定义
typedef struct MI_NIR_IQ_SaturationParam_s { MI_U16 u16SatConf; MI_U16 u16CurveX[SAT_X_NUM]; MI_U16 u16CurveY[SAT_Y_NUM]; } MI_NIR_IQ_SaturationParam_t;
-
成员
成员名称 描述 u16SatConf 饱和度配置常量,值越大,颜色越饱和,同时也会带出多的色噪。 取值范围:0 ~ 6142 u16CurveX[SAT_X_NUM] 饱和度调整曲线的横坐标,每个值代表每格间隔,以2的幂次叠加,代表亮度. SAT_X_NUM = 8。 取值范围:0~11 u16CurveY[SAT_Y_NUM] 饱和度调整曲线的纵坐标,值越大,颜色越饱和,同时有可能带出多的色噪. SAT_Y_NUM = 9。 取值范围:0 ~ 6142 -
举例
u16CurveX = 8,8,9,10,11,11,11,11
u16CurveY = 0,0,0,0,0,0,0,0,0
上图表示将饱和度权重降到最低。
3.14. MI_NIR_IQ_SaturationAutoAttr_t¶
-
说明
设定NIR饱和度的自动模式属性结构体。
-
定义
typedef struct MI_NIR_IQ_SaturationManualAttr_s { MI_NIR_IQ_SaturationParam_t stParaAPI[MI_NIR_AUTO_NUM]; } MI_NIR_IQ_SaturationManualAttr_t;
-
成员
成员名称 描述 stParaAPI[MI_NIR_AUTO_NUM]; 自动模式属性结构体,MI_NIR_AUTO_NUM = 16 ,该数组的16个值分别对应在不同增益下得设定值
3.15. MI_NIR_IQ_SaturationManualAttr_t¶
-
说明
设定NIR饱和度的手动模式属性结构体。
-
定义
typedef struct MI_NIR_IQ_SaturationManualAttr_s { MI_NIR_IQ_SaturationParam_t stParaAPI; } MI_NIR_IQ_SaturationManualAttr_t;
-
成员
成员名称 描述 stParaAPI; 手动模式属性结构体
3.16. MI_NIR_IQ_SaturationAttr_t¶
-
说明
设定NIR 饱和度的类型结构体。
-
定义
typedef struct MI_NIR_IQ_SaturationAttr_s { MI_NIR_IQ_Bool_e bEnable; MI_NIR_IQ_OpType_e enOpType; MI_NIR_IQ_SaturationAutoAttr_t stAuto; MI_NIR_IQ_SaturationManualAttr_t stManual; } MI_NIR_IQ_SaturationAttr_t;
-
成员
成员名称 描述 bEnable 设置NIR饱和度的布尔值
关闭:E_NIR_IQ_FALSE = 0
开启:E_NIR_IQ_TRUE = 1enOpType 设定NIR饱和度的工作模式
自动模式:E_NIR_IQ_OP_TYP_AUTO = 0
手动模式:E_NIR_IQ_OP_TYP_MANUAL = 1stAuto 设置NIR 饱和度的自动模式结构体 stManual 设置NIR 饱和度的手动模式结构 -
相关数据类型及接口
3.17. MI_NIR_IQ_WeightParam_t¶
-
说明
设定VIS/NIR比例权重决策的参数结构体。
-
定义
typedef struct MI_NIR_IQ_WeightParam_s { MI_U16 u16VisCurveX[WEIGHT_X_NUM]; MI_U16 u16VisCurveY[WEIGHT_Y_NUM]; MI_U16 u16NirCurveX[WEIGHT_X_NUM]; MI_U16 u16NirCurveY[WEIGHT_Y_NUM]; } MI_NIR_IQ_WeightParam_t;
-
成员
成员名称 描述 u16VisCurveX[WEIGHT_X_NUM] VIS决策权重曲线的横坐标,每个值代表每格间隔,以2的幂次叠加, 代表亮度 . WEIGHT_X_NUM = 13. 取值范围: 0~11 u16VisCurveY[WEIGHT_Y_NUM] VIS决策权重曲线的纵坐标,VIS的噪声水平权重,参数值越大,VIS 权重越高 。WEIGHT_Y_NUM = 14. 取值范围:0~0xFFFF; u16NirCurveX[WEIGHT_X_NUM] NIR决策权重曲线的横坐标,每个值代表每格间隔,以2的幂次叠加,代表亮度. WEIGHT_X_NUM = 13. 取值范围:0~11 u16NirCurveY[WEIGHT_Y_NUM] NIR决策权重曲线的纵坐标,NIR的噪声水平权重,参数值越大,NIR权重越高 。WEIGHT_Y_NUM = 14. 取值范围:0~0xFFFF;
3.18. MI_NIR_IQ_WeightAutoAttr_t¶
-
说明
设定VIS/NIR比例权重决策的自动模式属性结构体。
-
定义
typedef struct MI_NIR_IQ_WeightAutoAttr_s { MI_NIR_IQ_WeightParam_t stParaAPI[MI_NIR_AUTO_NUM]; } MI_NIR_IQ_WeightAutoAttr_t;
-
成员
成员名称 描述 stParaAPI[MI_NIR_AUTO_NUM]; 自动模式属性结构体,MI_NIR_AUTO_NUM = 16 ,该数组的16个值分别对应在不同增益下得设定值
3.19. MI_NIR_IQ_WeightManualAttr_t¶
-
说明
设定VIS/NIR比例权重决策的手动模式属性结构体。
-
定义
typedef struct MI_NIR_IQ_WeightManualAttr_s { MI_NIR_IQ_WeightParam_t stParaAPI; } MI_NIR_IQ_WeightManualAttr_t;
-
成员
成员名称 描述 stParaAPI; 手动模式属性结构体
3.20. MI_NIR_IQ_WeightAttr_t¶
-
说明
设定VIS/NIR比例权重决策的类型结构体。
-
定义
typedef struct MI_NIR_IQ_WeightAttr_s { MI_NIR_IQ_Bool_e bEnable; MI_NIR_IQ_OpType_e enOpType; MI_NIR_IQ_WeightAutoAttr_t stAuto; MI_NIR_IQ_WeightManualAttr_t stManual; } MI_NIR_IQ_WeightAttr_t;
-
成员
成员名称 描述 bEnable 设置VIS/NIR比例权重决策的布尔值
关闭:E_NIR_IQ_FALSE = 0
开启:E_NIR_IQ_TRUE = 1enOpType 设定VIS/NIR比例权重决策的工作模式
自动模式:E_NIR_IQ_OP_TYP_AUTO = 0
手动模式:E_NIR_IQ_OP_TYP_MANUAL = 1stAuto 设置VIS/NIR比例权重决策的自动模式结构体 stManual 设置VIS/NIR比例权重决策的手动模式结构体 -
Related data type and interface
4. 错误码¶
MI NIR模块 错误码如下表所示:
错误码 | 宏定义 | 描述 |
---|---|---|
0 | MI_NIR_OK | 成功 |
-1 | MI_NIR_ERR | 失败 |
0xA0272001 | MI_ERR_NIR_MOD_NOT_INIT | 模块未完成初始化 |
0xA0272002 | MI_ERR_NIR_DEV_ INVALID | Device超出合法范围 |
0xA0272003 | MI_ERR_NIR_NORESOURCE | NIR没有足够资源 |
0xA0272004 | MI_ERR_NIR_CHN_INVALID | Channel超出合法范围 |
0xA0272005 | MI_ERR_NIR_TIMEOUT | NIR 设备运行超时 |
0xA0272006 | MI_ERR_NIR_NOMEM | 分配内存失败 |
0xA0272007 | MI_ERR_NIR_NOTSUPPORT | 操作不支持 |
0xA0272008 | MI_ERR_NIR_BUSY | Channel 系统忙 |
0xA0272009 | MI_ERR_NIR_NOTREADY | 设备未完成初始化 |
0xA027200A | MI_ERR_NIR_NULL_PTR | 输入参数空指针错误 |
0xA027200B | MI_ERR_NIR_CHN_NOT_CREATE | Channel没有创建 |