MI NIR IQ API


REVISION HISTORY

Revision No.
Description
Date
0.1
  • Initial release
  • 01/20/2022
    0.2
  • Add IQ API and releated datatype
  • 02/11/2022
    0.3
  • Add Load IQ bin file API and releated data type
  • 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

      MI_NIR_IQ_SetBlendingSaturation

    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

      MI_NIR_IQ_SetContrast

    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

      MI_NIR_IQ_SetSaturation

    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

      MI_NIR_IQ_GetWeight

    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

      MI_NIR_IQ_SetWeight

    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 = 1
      enOpType 设定NIR混合饱和度的工作模式
      自动模式:E_NIR_IQ_OP_TYP_AUTO =0
      手动模式:E_NIR_IQ_OP_TYP_MANUAL =1
      stAuto 设置NIR 混合饱和度的自动模式结构体
      stManual 设置NIR 混合饱和度的手动模式结构
    • 相关数据类型及接口

      MI_NIR_IQ_SetBlendingSaturation

      MI_NIR_IQ_GetBlendingSaturation

    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 对比度的手动模式结构
    • 相关数据类型及接口

      MI_NIR_IQ_SetContrast

      MI_NIR_IQ_GetContrast

    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 = 1
      enOpType 设定NIR饱和度的工作模式
      自动模式:E_NIR_IQ_OP_TYP_AUTO = 0
      手动模式:E_NIR_IQ_OP_TYP_MANUAL = 1
      stAuto 设置NIR 饱和度的自动模式结构体
      stManual 设置NIR 饱和度的手动模式结构
    • 相关数据类型及接口

      MI_NIR_IQ_SetSaturation

      MI_NIR_IQ_GetSaturation

    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 = 1
      enOpType 设定VIS/NIR比例权重决策的工作模式
      自动模式:E_NIR_IQ_OP_TYP_AUTO = 0
      手动模式:E_NIR_IQ_OP_TYP_MANUAL = 1
      stAuto 设置VIS/NIR比例权重决策的自动模式结构体
      stManual 设置VIS/NIR比例权重决策的手动模式结构体
    • Related data type and interface

      MI_NIR_IQ_SetWeight

      MI_NIR_IQ_GetWeight


    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没有创建