15. CNR

15.1. 功能描述

在 YUV Domain 针对色度噪声进行的空域去噪算法。 cv184x 系列 的 CNR 模块通过双边滤波处理对UV通道做整体的降噪处理。

15.2. API 参考

15.2.1. CVI_ISP_SetCNRAttr

【描述】

设置CNR 参数属性

【语法】

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

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstCNRAttr

CNR 参数属性

输入

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

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

  • 库文件: libisp.so

【注意】

【举例】

VI_PIPE ViPipe = 0;
ISP_CNR_ATTR_S stAttr;
CVI_ISP_GetCNRAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetCNRAttr(ViPipe, &stAttr);

【相关主题】

15.2.2. CVI_ISP_GetCNRAttr

【描述】

获取CNR 参数属性

【语法】

CVI_S32 CVI_ISP_GetCNRAttr(VI_PIPE ViPipe, ISP_CNR_ATTR_S *pstCNRAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstCNRAttr

CNR 参数属性

输出

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

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

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

15.2.3. CVI_ISP_SetCNRFilterAttr

【描述】

设置CNR FILTER 参数属性

【语法】

CVI_S32 CVI_ISP_SetCNRFilterAttr(VI_PIPE ViPipe, const ISP_CNR_FILTER_ATTR_S *pstCNRFilterAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstCNRFilterAttr

CNR FILTER 参数属性

输入

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

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

  • 库文件: libisp.so

【注意】

【举例】

VI_PIPE ViPipe = 0;
ISP_CNR_FILTER_ATTR_S stAttr;
CVI_ISP_GetCNRFilterAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetCNRFilterAttr(ViPipe, &stAttr);

【相关主题】

15.2.4. CVI_ISP_GetCNRFilterAttr

【描述】

获取CNR FILTER 参数属性

【语法】

CVI_S32 CVI_ISP_GetCNRFilterAttr(VI_PIPE ViPipe, ISP_CNR_FILTER_ATTR_S *pstCNRFilterAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstCNRFilterAttr

CNR FILTER 参数属性

输出

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

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

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

15.3. 数据类型

15.3.1. ISP_CNR_MANUAL_ATTR_S

【说明】

定义手动CNR 参数属性

【定义】

typedef struct _ISP_CNR_MANUAL_ATTR_S {
        CVI_U8 MedianFltKsize; /*Rw; Range:[0, 2]*/
        CVI_U8 CnrByMotion[3]; /*Rw; Range:[0, 31]*/
        CVI_U8 CnrRefYStr; /*Rw; Range:[0, 31]*/
        CVI_U8 CnrRefUVStr; /*Rw; Range:[0, 31]*/
        CVI_U8 CnrYRange; /*Rw; Range:[0, 3]*/
        CVI_U8 CnrYThr; /*Rw; Range:[0, 31]*/
        CVI_U8 CnrYPrcStr; /*Rw; Range:[0, 2]*/
        CVI_U8 CnrYStrH; /*Rw; Range:[0, 32]*/
        CVI_U8 CnrYStrT; /*Rw; Range:[0, 32]*/
        CVI_U8 CnrUVRange; /*Rw; Range:[0, 4]*/
        CVI_U8 CnrUVThr; /*Rw; Range:[0, 32]*/
        CVI_U8 CnrUVPrcStr; /*Rw; Range:[0, 3]*/
        CVI_U8 CnrUVStrH; /*Rw; Range:[0, 64]*/
        CVI_U8 CnrUVStrT; /*Rw; Range:[0, 64]*/
        CVI_U8 CnrSatRange; /*Rw; Range:[0, 3]*/
        CVI_U8 CnrSatPrtThr; /*Rw; Range:[0, 31]*/
        CVI_U8 CnrSatPrcStr; /*Rw; Range:[0, 2]*/
        CVI_U8 CnrSatStrH; /*Rw; Range:[0, 32]*/
        CVI_U8 CnrSatStrT; /*Rw; Range:[0, 32]*/
        CVI_U8 CnrSatBldCoring; /*Rw; Range:[0, 32]*/
} ISP_CNR_MANUAL_ATTR_S;

【成员】

成员名称

描述

MedianFltKsize

Filter size selection for CMF。

取值范围: [0, 2]

数据类型: CVI_U8

CnrByMotion

控制不同运动状态下的CNR强度。CnrByMotion[0]~CnrByMotion[2]分别对应静止区、转换区、运动区。

取值范围: [0, 31]

数据类型: CVI_U8

CnrRefYStr

在 Y 通道上的色度参考权重。

取值范围: [0, 31]

数据类型: CVI_U8

CnrRefUVStr

在 UV 通道上的色度参考权重。

取值范围: [0, 31]

数据类型: CVI_U8

CnrYRange

在 Y 通道上的亮度差阈值。值越大,高亮度差阈值越大,CnrYStrH对高亮度差区域的影响范围越大。

取值范围: [0, 3]

数据类型: CVI_U8

CnrYThr

在 Y 通道上的亮度差阈值。亮度差低于CnrYThr的部分,CNR强度由CnrYStrH控制。

取值范围: [0, 31]

数据类型: CVI_U8

CnrYPrcStr

Chroma adaptation weighting precision for Y channel。

0: 8; 1: 16; 2: 32;

取值范围: [0, 2]

数据类型: CVI_U8

CnrYStrH

在 Y 通道上控制亮度差异较小的区域的CNR强度。值越大,去噪强度越大。

取值范围: [0, 32]

数据类型: CVI_U8

CnrYStrT

在 Y 通道上控制亮度差异较大的区域的CNR强度。值越大,去噪强度越大。

取值范围: [0, 32]

数据类型: CVI_U8

CnrUVRange

在 UV 通道上控制高色差阈值。值越大,高色差阈值越大,CnrUVStrH对高色差区域的影响范围越大。

0: 8; 1: 16; 2: 32; 3: 64; 4: 128; 7-5: Reserved;

取值范围: [0, 4]

数据类型: CVI_U8

CnrUVThr

在 UV 通道上控制高饱和阈值。值越大,高饱和阈值越大,CnrSatStrH对高饱和区域的影响范围越大。

取值范围: [0, 32]

数据类型: CVI_U8

CnrUVPrcStr

Chroma adaptation weighting precision for UV channels。

0: 8; 1: 16; 2: 32; 3: 64;

取值范围: [0, 3]

数据类型: CVI_U8

CnrUVStrH

在 UV 通道上控制低色差区域的CNR强度。值越大,去噪强度越大。

取值范围: [0, 64]

数据类型: CVI_U8

CnrUVStrT

在 UV 通道上控制高色差区域的CNR强度。值越大,去噪强度越大。

取值范围: [0, 64]

数据类型: CVI_U8

CnrSatRange

控制高饱和阈值。值越大,高饱和阈值越大,CnrSatStrH对高饱和区域的影响范围越大。

0: 8; 1: 16; 2: 32; 3: 64;

取值范围: [0, 3]

数据类型: CVI_U8

CnrSatPrtThr

低饱和度阈值。饱和度低于CnrSatPrtThr的部分,CNR强度由CnrSatStrH控制。

取值范围: [0, 31]

数据类型: CVI_U8

CnrSatPrcStr

Chroma adaptation weighting precision for Saturation。

0: 8; 1: 16; 2: 32;

取值范围: [0, 2]

数据类型: CVI_U8

CnrSatStrH

控制低饱和度区域的CNR强度。值越大,去噪强度越大。

取值范围: [0, 32]

数据类型: CVI_U8

CnrSatStrT

控制高饱和度区域的CNR强度。值越大,去噪强度越大。

取值范围: [0, 32]

数据类型: CVI_U8

CnrSatBldCoring

Chroma adaptation weighting for Saturation blending。

取值范围: [0, 32]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

15.3.2. ISP_CNR_AUTO_ATTR_S

【说明】

定义自动CNR 参数属性

【定义】

typedef struct _ISP_CNR_AUTO_ATTR_S {
        CVI_U8 MedianFltKsize[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 2]*/
        CVI_U8 CnrByMotion[3][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 31]*/
        CVI_U8 CnrRefYStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 31]*/
        CVI_U8 CnrRefUVStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 31]*/
        CVI_U8 CnrYRange[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 3]*/
        CVI_U8 CnrYThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 31]*/
        CVI_U8 CnrYPrcStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 2]*/
        CVI_U8 CnrYStrH[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 32]*/
        CVI_U8 CnrYStrT[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 32]*/
        CVI_U8 CnrUVRange[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 4]*/
        CVI_U8 CnrUVThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 32]*/
        CVI_U8 CnrUVPrcStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 3]*/
        CVI_U8 CnrUVStrH[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 64]*/
        CVI_U8 CnrUVStrT[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 64]*/
        CVI_U8 CnrSatRange[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 3]*/
        CVI_U8 CnrSatPrtThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 31]*/
        CVI_U8 CnrSatPrcStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 2]*/
        CVI_U8 CnrSatStrH[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 32]*/
        CVI_U8 CnrSatStrT[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 32]*/
        CVI_U8 CnrSatBldCoring[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 32]*/
} ISP_CNR_AUTO_ATTR_S;

【成员】

成员名称

描述

MedianFltKsize

Filter size selection for CMF。

取值范围: [0, 2]

数据类型: CVI_U8

CnrByMotion

控制不同运动状态下的CNR强度。CnrByMotion[0]~CnrByMotion[2]分别对应静止区、转换区、运动区。

取值范围: [0, 31]

数据类型: CVI_U8

CnrRefYStr

在 Y 通道上的色度参考权重。

取值范围: [0, 31]

数据类型: CVI_U8

CnrRefUVStr

在 UV 通道上的色度参考权重。

取值范围: [0, 31]

数据类型: CVI_U8

CnrYRange

在 Y 通道上的亮度差阈值。值越大,高亮度差阈值越大,CnrYStrH对高亮度差区域的影响范围越大。

取值范围: [0, 3]

数据类型: CVI_U8

CnrYThr

在 Y 通道上的亮度差阈值。亮度差低于CnrYThr的部分,CNR强度由CnrYStrH控制。

取值范围: [0, 31]

数据类型: CVI_U8

CnrYPrcStr

Chroma adaptation weighting precision for Y channel。

0: 8; 1: 16; 2: 32;

取值范围: [0, 2]

数据类型: CVI_U8

CnrYStrH

在 Y 通道上控制亮度差异较小的区域的CNR强度。值越大,去噪强度越大。

取值范围: [0, 32]

数据类型: CVI_U8

CnrYStrT

在 Y 通道上控制亮度差异较大的区域的CNR强度。值越大,去噪强度越大。

取值范围: [0, 32]

数据类型: CVI_U8

CnrUVRange

在 UV 通道上控制高色差阈值。值越大,高色差阈值越大,CnrUVStrH对高色差区域的影响范围越大。

0: 8; 1: 16; 2: 32; 3: 64; 4: 128; 7-5: Reserved;

取值范围: [0, 4]

数据类型: CVI_U8

CnrUVThr

在 UV 通道上控制高饱和阈值。值越大,高饱和阈值越大,CnrSatStrH对高饱和区域的影响范围越大。

取值范围: [0, 32]

数据类型: CVI_U8

CnrUVPrcStr

Chroma adaptation weighting precision for UV channels。

0: 8; 1: 16; 2: 32; 3: 64;

取值范围: [0, 3]

数据类型: CVI_U8

CnrUVStrH

在 UV 通道上控制低色差区域的CNR强度。值越大,去噪强度越大。

取值范围: [0, 64]

数据类型: CVI_U8

CnrUVStrT

在 UV 通道上控制高色差区域的CNR强度。值越大,去噪强度越大。

取值范围: [0, 64]

数据类型: CVI_U8

CnrSatRange

控制高饱和阈值。值越大,高饱和阈值越大,CnrSatStrH对高饱和区域的影响范围越大。

0: 8; 1: 16; 2: 32; 3: 64;

取值范围: [0, 3]

数据类型: CVI_U8

CnrSatPrtThr

低饱和度阈值。饱和度低于CnrSatPrtThr的部分,CNR强度由CnrSatStrH控制。

取值范围: [0, 31]

数据类型: CVI_U8

CnrSatPrcStr

Chroma adaptation weighting precision for Saturation。

0: 8; 1: 16; 2: 32;

取值范围: [0, 2]

数据类型: CVI_U8

CnrSatStrH

控制低饱和度区域的CNR强度。值越大,去噪强度越大。

取值范围: [0, 32]

数据类型: CVI_U8

CnrSatStrT

控制高饱和度区域的CNR强度。值越大,去噪强度越大。

取值范围: [0, 32]

数据类型: CVI_U8

CnrSatBldCoring

Chroma adaptation weighting for Saturation blending。

取值范围: [0, 32]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

15.3.3. ISP_CNR_ATTR_S

【说明】

定义CNR 参数属性

【定义】

typedef struct _ISP_CNR_ATTR_S {
        CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
        ISP_OP_TYPE_E enOpType;
        CVI_U8 UpdateInterval; /*Rw; Range:[1, 255]*/
        CVI_BOOL MedianFltEnable; /*Rw; Range:[0, 1]*/
        CVI_BOOL CnrEnable; /*Rw; Range:[0, 1]*/
        CVI_BOOL CnrSatBldEnable; /*Rw; Range:[0, 1]*/
        CVI_U8 SubSclSel; /*Rw; Range:[0, 1]*/
        CVI_U8 CnrDebugMode; /*Rw; Range:[0, 6]*/
        CVI_BOOL CnrBypass1; /*Rw; Range:[0, 1]*/
        CVI_BOOL CnrBypass2; /*Rw; Range:[0, 1]*/
        ISP_CNR_SCALE_FACTOR_E SubImgSclFactor;
        ISP_CNR_MANUAL_ATTR_S stManual;
        ISP_CNR_AUTO_ATTR_S stAuto;
} ISP_CNR_ATTR_S;

【成员】

成员名称

描述

Enable

模块使能开关

取值范围: [0, 1]

数据类型: CVI_BOOL

enOpType

工作类型

OP_TYPE_AUTO:自动模式

OP_TYPE_MANUAL:手动模式

数据类型: ISP_OP_TYPE_E

UpdateInterval

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

取值范围: [1, 255]

数据类型: CVI_U8

MedianFltEnable

UV通道预滤波处理使能。Enable = 1时生效。

取值范围: [0, 1]

数据类型: CVI_BOOL

CnrEnable

CNR 模块使能

取值范围: [0, 1]

数据类型: CVI_BOOL

CnrSatBldEnable

enable sat blend

取值范围: [0, 1]

数据类型: CVI_BOOL

SubSclSel

Selection sub-image output flow:

0: output sub image after LCA;

1: output sub image before CMF。

取值范围: [0, 1]

数据类型: CVI_U8

CnrDebugMode

Register debug mode

0: no debug, normal output; 1: debug output wY, wUV, w;

2: debug output abs distU, distV,distUV; 3: debug output sat weight; 4: debug output SAT blend out; 5: debug output cnr motion;

6: debug output subimg sclupimg;

取值范围: [0, 6]

数据类型: CVI_U8

CnrBypass1

Set 1 to bypass chra(LCA)

取值范围: [0, 1]

数据类型: CVI_BOOL

CnrBypass2

根据亮度差、饱和度、色差、运动状态调整CNR强度的功能使能。

取值范围: [0, 1]

数据类型: CVI_BOOL

SubImgSclFactor

Sub image scaling factor

数据类型: ISP_CNR_SCALE_FACTOR_E

stManual

手动参数

stAuto

自动参数

【注意事项】

【相关数据类型及接口】

15.3.4. ISP_CNR_FILTER_MANUAL_ATTR_S

【说明】

定义手动CNR FILTER 参数属性

【定义】

typedef struct _ISP_CNR_FILTER_MANUAL_ATTR_S {
        CVI_U8 SubImgNrFltKsize; /*Rw; Range:[0, 3]*/
        CVI_U8 SubImgNrEdgeDirPN; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrEdgeDirHV; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrEdgeKsize; /*Rw; Range:[0, 1]*/
        CVI_U8 SubImgNrYCRef; /*Rw; Range:[0, 31]*/
        CVI_U8 SubImgNrUVCRef; /*Rw; Range:[0, 31]*/
        CVI_U8 OutierThY; /*Rw; Range:[0, 7]*/
        CVI_U8 OutierThUV; /*Rw; Range:[0, 7]*/
        CVI_U8 YOutierDifTh; /*Rw; Range:[0, 255]*/
        CVI_U8 UOutierDifTh; /*Rw; Range:[0, 255]*/
        CVI_U8 VOutierDifTh; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrRefCThrYDif[3]; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrRefCStrY[4]; /*Rw; Range:[0, 8]*/
        CVI_U8 SubImgNrRefCThrUVDif[3]; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrRefCStrUV[4]; /*Rw; Range:[0, 8]*/
        CVI_U8 SubImgNrDirFltThrY[5]; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrDirFltStrY[6]; /*Rw; Range:[0, 16]*/
        CVI_U8 SubImgNrDirFltThrU[5]; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrDirFltStrU[6]; /*Rw; Range:[0, 16]*/
        CVI_U8 SubImgNrDirFltThrV[5]; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrDirFltStrV[6]; /*Rw; Range:[0, 16]*/
} ISP_CNR_FILTER_MANUAL_ATTR_S;

【成员】

成员名称

描述

SubImgNrFltKsize

Filter size selection for Y/UV channels

0: 3x3; 1: 5x5; 2: 7x7; 3: 9x9;

取值范围: [0, 3]

数据类型: CVI_U8

SubImgNrEdgeDirPN

正(负)45度方向判断阈值。值越大,越容易判断为无方向。值过大,容易造成边缘渗色问题。

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrEdgeDirHV

水平/垂直方向判断阈值。值越大,越容易判断为无方向。值过大,容易造成边缘渗色问题。

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrEdgeKsize

Edge kernel size selection。

0: 3x3; 1: 5x5;

取值范围: [0, 1]

数据类型: CVI_U8

SubImgNrYCRef

Reference center weighting for Y channel

取值范围: [0, 31]

数据类型: CVI_U8

SubImgNrUVCRef

Reference center weighting for UV channel

取值范围: [0, 31]

数据类型: CVI_U8

OutierThY

Reference center outlier threshold of Y channel

取值范围: [0, 7]

数据类型: CVI_U8

OutierThUV

Reference center outlier threshold of UV channel

取值范围: [0, 7]

数据类型: CVI_U8

YOutierDifTh

Reference center outlier difference threshold for Y channel

取值范围: [0, 255]

数据类型: CVI_U8

UOutierDifTh

Reference center outlier difference threshold for U channel

取值范围: [0, 255]

数据类型: CVI_U8

VOutierDifTh

Reference center outlier difference threshold for V channel

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrRefCThrYDif

Range filter threshold for reference center of Y channel

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrRefCStrY

Range filter weighting for 0x0] reference center of Y channel

取值范围: [0, 8]

数据类型: CVI_U8

SubImgNrRefCThrUVDif

Range filter threshold for reference center of UV channel

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrRefCStrUV

Range filter weighting for 0x0] reference center of UV channel

取值范围: [0, 8]

数据类型: CVI_U8

SubImgNrDirFltThrY

Filter threshold for Y channel

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrDirFltStrY

Filter weighting for Y channel

取值范围: [0, 16]

数据类型: CVI_U8

SubImgNrDirFltThrU

Filter threshold for U channel, 和SubImgNrDirFltStrU共同控制U通道的降噪强度

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrDirFltStrU

Filter threshold for U channel, 和SubImgNrDirFltThrU共同控制U通道的降噪强度

取值范围: [0, 16]

数据类型: CVI_U8

SubImgNrDirFltThrV

Filter threshold for V channel, 和SubImgNrDirFltStrV共同控制V通道的降噪强度

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrDirFltStrV

Filter threshold for V channel, 和SubImgNrDirFltThrV共同控制V通道的降噪强度

取值范围: [0, 16]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

15.3.5. ISP_CNR_FILTER_AUTO_ATTR_S

【说明】

定义自动CNR FILTER 参数属性

【定义】

typedef struct _ISP_CNR_FILTER_AUTO_ATTR_S {
        CVI_U8 SubImgNrFltKsize[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 3]*/
        CVI_U8 SubImgNrEdgeDirPN[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrEdgeDirHV[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrEdgeKsize[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 1]*/
        CVI_U8 SubImgNrYCRef[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 31]*/
        CVI_U8 SubImgNrUVCRef[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 31]*/
        CVI_U8 OutierThY[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 7]*/
        CVI_U8 OutierThUV[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 7]*/
        CVI_U8 YOutierDifTh[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 UOutierDifTh[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 VOutierDifTh[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrRefCThrYDif[3][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrRefCStrY[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 8]*/
        CVI_U8 SubImgNrRefCThrUVDif[3][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrRefCStrUV[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 8]*/
        CVI_U8 SubImgNrDirFltThrY[5][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrDirFltStrY[6][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 16]*/
        CVI_U8 SubImgNrDirFltThrU[5][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrDirFltStrU[6][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 16]*/
        CVI_U8 SubImgNrDirFltThrV[5][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 SubImgNrDirFltStrV[6][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 16]*/
} ISP_CNR_FILTER_AUTO_ATTR_S;

【成员】

成员名称

描述

SubImgNrFltKsize

Filter size selection for Y/UV channels

0: 3x3; 1: 5x5; 2: 7x7; 3: 9x9;

取值范围: [0, 3]

数据类型: CVI_U8

SubImgNrEdgeDirPN

正(负)45度方向判断阈值。值越大,越容易判断为无方向。值过大,容易造成边缘渗色问题。

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrEdgeDirHV

水平/垂直方向判断阈值。值越大,越容易判断为无方向。值过大,容易造成边缘渗色问题。

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrEdgeKsize

Edge kernel size selection。

0: 3x3; 1: 5x5;

取值范围: [0, 1]

数据类型: CVI_U8

SubImgNrYCRef

Reference center weighting for Y channel

取值范围: [0, 31]

数据类型: CVI_U8

SubImgNrUVCRef

Reference center weighting for UV channel

取值范围: [0, 31]

数据类型: CVI_U8

OutierThY

Reference center outlier threshold of Y channel

取值范围: [0, 7]

数据类型: CVI_U8

OutierThUV

Reference center outlier threshold of UV channel

取值范围: [0, 7]

数据类型: CVI_U8

YOutierDifTh

Reference center outlier difference threshold for Y channel

取值范围: [0, 255]

数据类型: CVI_U8

UOutierDifTh

Reference center outlier difference threshold for U channel

取值范围: [0, 255]

数据类型: CVI_U8

VOutierDifTh

Reference center outlier difference threshold for V channel

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrRefCThrYDif

Range filter threshold for reference center of Y channel

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrRefCStrY

Range filter weighting for 0x0] reference center of Y channel

取值范围: [0, 8]

数据类型: CVI_U8

SubImgNrRefCThrUVDif

Range filter threshold for reference center of UV channel

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrRefCStrUV

Range filter weighting for 0x0] reference center of UV channel

取值范围: [0, 8]

数据类型: CVI_U8

SubImgNrDirFltThrY

Filter threshold for Y channel

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrDirFltStrY

Filter weighting for Y channel

取值范围: [0, 16]

数据类型: CVI_U8

SubImgNrDirFltThrU

Filter threshold for U channel, 和SubImgNrDirFltStrU共同控制U通道的降噪强度

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrDirFltStrU

Filter threshold for U channel, 和SubImgNrDirFltThrU共同控制U通道的降噪强度

取值范围: [0, 16]

数据类型: CVI_U8

SubImgNrDirFltThrV

Filter threshold for V channel, 和SubImgNrDirFltStrV共同控制V通道的降噪强度

取值范围: [0, 255]

数据类型: CVI_U8

SubImgNrDirFltStrV

Filter threshold for V channel, 和SubImgNrDirFltThrV共同控制V通道的降噪强度

取值范围: [0, 16]

数据类型: CVI_U8

【注意事项】

【相关数据类型及接口】

15.3.6. ISP_CNR_FILTER_ATTR_S

【说明】

定义CNR FILTER 参数属性

【定义】

typedef struct _ISP_CNR_FILTER_ATTR_S {
        CVI_BOOL SubImgNrEnable; /*Rw; Range:[0, 1]*/
        CVI_BOOL YNrEnable; /*Rw; Range:[0, 1]*/
        CVI_BOOL EdgeDebugEnable; /*Rw; Range:[0, 1]*/
        CVI_BOOL RefCenterDebugEnable; /*Rw; Range:[0, 1]*/
        ISP_CNR_FILTER_MANUAL_ATTR_S stManual;
        ISP_CNR_FILTER_AUTO_ATTR_S stAuto;
} ISP_CNR_FILTER_ATTR_S;

【成员】

成员名称

描述

SubImgNrEnable

Set 1 to enable filter for ife2 sub image。

取值范围: [0, 1]

数据类型: CVI_BOOL

YNrEnable

IFE2 enable key for Y。

取值范围: [0, 1]

数据类型: CVI_BOOL

EdgeDebugEnable

Debug key for Edge map in IFE2。

取值范围: [0, 1]

数据类型: CVI_BOOL

RefCenterDebugEnable

Debug key for Ref center filter in IFE2。

取值范围: [0, 1]

数据类型: CVI_BOOL

stManual

手动参数

stAuto

自动参数

【注意事项】

【相关数据类型及接口】