15. CNR

15.1. 功能描述

在 YUV Domain 针对色度噪声进行的空域去噪算法。

15.2. API 参考

15.2.1. CVI_ISP_SetCNRAttr

【描述】

设置色度降噪参数属性

【语法】

CVI_S32 CVI_ISP_SetCNRAttr(VI_PIPE ViPipe, const ISP_CNR_ATTR_S *pstCNRAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstCNRAttr

色度降噪参数属性

输入

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

15.2.2. CVI_ISP_GetCNRAttr

【描述】

获取色度降噪参数属性

【语法】

CVI_S32 CVI_ISP_GetCNRAttr(VI_PIPE ViPipe, ISP_CNR_ATTR_S *pstCNRAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstCNRAttr

色度降噪参数属性

输出

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

15.2.3. CVI_ISP_SetCNRMotionNRAttr

【描述】

设置色度降噪移动物体参数属性

【语法】

CVI_S32 CVI_ISP_SetCNRMotionNRAttr(VI_PIPE ViPipe, const ISP_CNR_MOTION_NR_ATTR_S *pstCNRMotionNRAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstCNRMotionNRAttr

色度降噪移动物体参数属性

输出

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

15.2.4. CVI_ISP_GetCNRMotionNRAttr

【描述】

获取色度降噪移动物体参数属性

【语法】

CVI_S32 CVI_ISP_GetCNRMotionNRAttr(VI_PIPE ViPipe, const ISP_CNR_MOTION_NR_ATTR_S *pstCNRMotionNRAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstCNRMotionNRAttr

色度降噪移动物体参数属性

输出

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

15.3. 数据类型

15.3.1. ISP_CNR_MANUAL_ATTR_S

【说明】

色度降噪参数手动属性

【定义】

typedef struct _ISP_CNR_MANUAL_ATTR_S {
   CVI_U8 CnrStr;
   CVI_U8 NoiseSuppressStr;
   CVI_U8 NoiseSuppressGain;
   CVI_U8 FilterType;
   CVI_U8 MotionNrStr;
   CVI_U8 LumaWgt;
   CVI_U8 DetailSmoothMode;
} ISP_CNR_MANUAL_ATTR_S;

【成员】

成员名称

描述

CnrStr

色噪去噪强度。值越大,色噪去噪强度越大。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

NoiseSuppressStr

色噪抑制强度。值越大,色噪去除强度越大。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

NoiseSuppressGain

色噪抑制强度增益。值越小,色噪去噪强度越大。

取值范围: [0x1, 0x8]

数据类型: CVI_U8

FilterType

色噪去噪滤波器强度。值越大,色噪去除强度越大。

取值范围: [0x0, 0x1f]

数据类型: CVI_U8

MotionNrStr

调节物体运动区域的色噪去噪强度。值越大,运动区域的色噪越少。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LumaWgt

参考亮度的色噪去噪权重。值越大,亮度影响色噪去噪的强度越大。

取值范围: [0x0, 0x8]

数据类型: CVI_U8

DetailSmoothMode

去噪细节平滑功能使能。

0 : 关闭。

1 : 使能。

取值范围: [0x0, 0x1]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

15.3.2. ISP_CNR_AUTO_ATTR_S

【说明】

色度降噪参数自动属性

【定义】

typedef struct _ISP_CNR_AUTO_ATTR_S {
   CVI_U8 CnrStr[ISP_AUTO_ISO_STRENGTH_NUM];
   CVI_U8 NoiseSuppressStr[ISP_AUTO_ISO_STRENGTH_NUM];
   CVI_U8 NoiseSuppressGain[ISP_AUTO_ISO_STRENGTH_NUM];
   CVI_U8 FilterType[ISP_AUTO_ISO_STRENGTH_NUM];
   CVI_U8 MotionNrStr[ISP_AUTO_ISO_STRENGTH_NUM];
   CVI_U8 LumaWgt[ISP_AUTO_ISO_STRENGTH_NUM];
   CVI_U8 DetailSmoothMode[ISP_AUTO_ISO_STRENGTH_NUM];
} ISP_CNR_AUTO_ATTR_S;

【成员】

成员名称

描述

CnrStr

色噪去噪强度。值越大,色噪去噪强度越大。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

NoiseSuppressStr

色噪抑制强度。值越大,色噪去除强度越大。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

NoiseSuppressGain

色噪抑制强度增益。值越小,色噪去噪强度越大。

取值范围: [0x1, 0x8]

数据类型: CVI_U8

FilterType

色噪去噪滤波器强度。值越大,色噪去除强度越大。

取值范围: [0x0, 0x1f]

数据类型: CVI_U8

MotionNrStr

调节物体运动区域的色噪去噪强度。值越大,运动区域的色噪越少。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

LumaWgt

参考亮度的色噪去噪权重。值越大,亮度影响色噪去噪的强度越大。

取值范围: [0x0, 0x8]

数据类型: CVI_U8

DetailSmoothMode

去噪细节平滑功能使能。

0: 关闭。

1: 使能。

取值范围: [0x0, 0x1]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

15.3.3. ISP_CNR_ATTR_S

【说明】

色度降噪参数属性

【定义】

typedef struct _ISP_CNR_ATTR_S {
   CVI_BOOL Enable;
   ISP_OP_TYPE_E enOpType;
   CVI_U8 UpdateInterval;
   ISP_CNR_MANUAL_ATTR_S stManual;
   ISP_CNR_AUTO_ATTR_S stAuto;
} ISP_CNR_ATTR_S;

【成员】

成员名称

描述

Enable

CNR模块使能。

0: 关闭。

1: 使能。

取值范围: [0, 1]

数据类型: CVI_BOOL

enOpType

工作类型

OP_TYPE_AUTO: 自动模式

OP_TYPE_MANUAL: 手动模式

UpdateInterval

影响参数更新间隔,值越大画面变化越慢,效能越好

取值范围: [0x0, 0xff]

数据类型: CVI_U8

stManual

手动模式参数属性

stAuto

自动模式参数属性

【注意事项】

【相关数据类型及接口】

15.3.4. ISP_CNR_MOTION_NR_MANUAL_ATTR_S

【说明】

色度降噪移动物体参数手动属性

【定义】

typedef struct _ISP_CNR_MOTION_NR_MANUAL_ATTR_S {
   CVI_U8 MotionCnrCoringLut[16]
   CVI_U8 MotionCnrStrLut[16];
} ISP_CNR_MOTION_NR_MANUAL_ATTR_S;

【成员】

成员名称

描述

MotionCnrCoringLut[16]

使用 LUT 调整不同物体运动量时对应的色噪抑制强度,将运动量区分为16阶。值越大,去色噪强度越强

取值范围: [0x0, 0xff]

数据类型: CVI_U8

MotionCnrStrLut[16]

使用LUT调整不同物体运动量时对应的去色噪强度,将运动量区分为16阶。值越大,去色噪强度越强。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

15.3.5. ISP_CNR_MOTION_NR_AUTO_ATTR_S

【说明】

色度降噪移动物体参数自动属性

【定义】

typedef struct _ISP_CNR_MOTION_NR_AUTO_ATTR_S {
   CVI_U8 MotionCnrCoringLut[16][ISP_AUTO_ISO_STRENGTH_NUM];
   CVI_U8 MotionCnrStrLut[16][ISP_AUTO_ISO_STRENGTH_NUM];
} ISP_CNR_MOTION_NR_AUTO_ATTR_S;

【成员】

成员名称

描述

MotionCnrStrLut[16]

使用LUT调整不同物体运动量时对应的去色噪强度,将运动量区分为16阶。值越大,去色噪强度越强。

取值范围: [0x0, 0xff]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

15.3.6. ISP_CNR_MOTION_NR_ATTR_S

【说明】

色度降噪移动物体参数属性

【定义】

typedef struct _ISP_CNR_MOTION_NR_ATTR_S {
   CVI_BOOL MotionCnrEnable;
   ISP_CNR_MOTION_NR_MANUAL_ATTR_S stManual;
   ISP_CNR_MOTION_NR_AUTO_ATTR_S stAuto;
} ISP_CNR_MOTION_NR_ATTR_S;

【成员】

成员名称

描述

MotionCnrEnable

参考物体运动量来调整去色噪强度功能使能。

0: 关闭。

1: 使能。

取值范围: [0, 1]

数据类型: CVI_BOOL

stManual

手动模式参数属性

stAuto

自动模式参数属性

【注意事项】

【相关数据类型及接口】