14. BNR¶
14.1. 功能描述¶
在 Bayer Domain 进行的空域去噪算法。
14.2. API 参考¶
CVI_ISP_SetBNRAttr : 设置Bayer降噪参数属性
CVI_ISP_GetBNRAttr : 获取Bayer降噪参数属性
CVI_ISP_SetBNRFilterAttr : 设置Bayer降噪滤波器属性
CVI_ISP_GetBNRFilterAttr : 获取Bayer降噪滤波器属性
14.2.1. CVI_ISP_SetBNRAttr¶
【描述】
设置Bayer降噪参数属性
【语法】
CVI_S32 CVI_ISP_SetBNRAttr(VI_PIPE ViPipe, const ISP_BNR_ATTR_S *pstBNRAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstBNRAttr |
Bayer降噪参数属性 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
VI_PIPE ViPipe = 0;
ISP_BNR_ATTR_S stAttr;
CVI_ISP_GetBNRAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetBNRAttr(ViPipe, &stAttr);
【相关主题】
14.2.2. CVI_ISP_GetBNRAttr¶
【描述】
获取Bayer降噪参数属性
【语法】
CVI_S32 CVI_ISP_GetBNRAttr(VI_PIPE ViPipe, ISP_BNR_ATTR_S *pstBNRAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstBNRAttr |
Bayer降噪参数属性 |
输出 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
14.2.3. CVI_ISP_SetBNRFilterAttr¶
【描述】
设置Bayer降噪滤波器属性
【语法】
CVI_S32 CVI_ISP_SetBNRFilterAttr(VI_PIPE ViPipe, const ISP_BNR_FILTER_ATTR_S *pstBNRFilterAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstBNRFilterAttr |
Bayer降噪滤波器属性 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
VI_PIPE ViPipe = 0;
ISP_BNR_FILTER_ATTR_S stAttr;
CVI_ISP_GetBNRFilterAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetBNRFilterAttr(ViPipe, &stAttr);
【相关主题】
14.2.4. CVI_ISP_GetBNRFilterAttr¶
【描述】
获取Bayer降噪滤波器属性
【语法】
CVI_S32 CVI_ISP_GetBNRFilterAttr(VI_PIPE ViPipe, ISP_BNR_FILTER_ATTR_S *pstBNRFilterAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstBNRFilterAttr |
Bayer降噪滤波器属性 |
输出 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
14.3. 数据类型¶
ISP_BNR_MANUAL_ATTR_S : 定义手动Bayer降噪参数属性
ISP_BNR_AUTO_ATTR_S : 定义自动Bayer降噪参数属性
ISP_BNR_ATTR_S : 定义Bayer降噪参数属性
ISP_BNR_FILTER_MANUAL_ATTR_S : 定义手动Bayer降噪滤波器属性
ISP_BNR_FILTER_AUTO_ATTR_S : 定义自动Bayer降噪滤波器属性
ISP_BNR_FILTER_ATTR_S : 定义Bayer降噪滤波器属性
14.3.1. ISP_BNR_MANUAL_ATTR_S¶
【说明】
定义手动Bayer降噪参数属性
【定义】
typedef struct _ISP_BNR_MANUAL_ATTR_S {
CVI_U8 FilterKsize; /*Rw; Range:[0, 1]*/
CVI_U16 PreFilterStdThr1; /*Rw; Range:[0, 1023]*/
CVI_U16 PreFilterStdThr2; /*Rw; Range:[0, 1023]*/
CVI_U8 GussianKernelWt[BNR_WEIGHT_LUT_NUM]; /*Rw; Range:[0, 31]*/
CVI_U8 NrBlendWt; /*Rw; Range:[0, 16]*/
} ISP_BNR_MANUAL_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
FilterKsize |
去噪滤波核大小。 取值范围: [0, 1] 数据类型: CVI_U8 |
PreFilterStdThr1 |
NR Weight TH1 in Pre filter BF。 取值范围: [0, 1023] 数据类型: CVI_U16 |
PreFilterStdThr2 |
NR Weight TH2 in Pre filter BF。 取值范围: [0, 1023] 数据类型: CVI_U16 |
GussianKernelWt |
Spatial NR Weight LUT。 取值范围: [0, 31] 数据类型: CVI_U8 |
NrBlendWt |
Blend Weight between NLMS&BF。 取值范围: [0, 16] 数据类型: CVI_U8 |
【注意事项】
无
【相关数据类型及接口】
14.3.2. ISP_BNR_AUTO_ATTR_S¶
【说明】
定义自动Bayer降噪参数属性
【定义】
typedef struct _ISP_BNR_AUTO_ATTR_S {
CVI_U8 FilterKsize[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 1]*/
CVI_U16 PreFilterStdThr1[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 1023]*/
CVI_U16 PreFilterStdThr2[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 1023]*/
CVI_U8 GussianKernelWt[BNR_WEIGHT_LUT_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 31]*/
CVI_U8 NrBlendWt[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 16]*/
} ISP_BNR_AUTO_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
FilterKsize |
去噪滤波核大小。 取值范围: [0, 1] 数据类型: CVI_U8 |
PreFilterStdThr1 |
NR Weight TH1 in Pre filter BF。 取值范围: [0, 1023] 数据类型: CVI_U16 |
PreFilterStdThr2 |
NR Weight TH2 in Pre filter BF。 取值范围: [0, 1023] 数据类型: CVI_U16 |
GussianKernelWt |
Spatial NR Weight LUT。 取值范围: [0, 31] 数据类型: CVI_U8 |
NrBlendWt |
Blend Weight between NLMS&BF。 取值范围: [0, 16] 数据类型: CVI_U8 |
【注意事项】
无
【相关数据类型及接口】
14.3.3. ISP_BNR_ATTR_S¶
【说明】
定义Bayer降噪参数属性
【定义】
typedef struct _ISP_BNR_ATTR_S {
CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
ISP_OP_TYPE_E enOpType;
CVI_U8 UpdateInterval; /*Rw; Range:[0, 255]*/
CVI_BOOL PreFilterEnable; /*Rw; Range:[0, 1]*/
CVI_BOOL PreFilterModeSel; /*Rw; Range:[0, 1]*/
ISP_BNR_MANUAL_ATTR_S stManual;
ISP_BNR_AUTO_ATTR_S stAuto;
} ISP_BNR_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
Enable |
模块使能开关 取值范围: [0, 1] 数据类型: CVI_BOOL |
enOpType |
工作类型 OP_TYPE_AUTO:自动模式 OP_TYPE_MANUAL:手动模式 数据类型: ISP_OP_TYPE_E |
UpdateInterval |
影响参数更新间隔,值越大画面变化越慢,效能越好。 取值范围: [0, 255] 数据类型: CVI_U8 |
PreFilterEnable |
Pre filter BF 使能 取值范围: [0, 1] 数据类型: CVI_BOOL |
PreFilterModeSel |
Pre filter BF center mode sel when similar pixel cnt <= 2 取值范围: [0, 1] 数据类型: CVI_BOOL |
stManual |
手动参数 |
stAuto |
自动参数 |
【注意事项】
无
【相关数据类型及接口】
14.3.4. ISP_BNR_FILTER_MANUAL_ATTR_S¶
【说明】
定义手动Bayer降噪滤波器属性
【定义】
typedef struct _ISP_BNR_FILTER_MANUAL_ATTR_S {
CVI_U16 Filter1GaussianCurve[BNR_BASE_LUT_NUM]; /*Rw; Range:[0, 1023]*/
CVI_U16 Filter1LumaOffset[BNR_LUMA_LUT_NUM]; /*Rw; Range:[0, 1023]*/
CVI_U16 Filter2GaussianCurve[BNR_BASE_LUT_NUM]; /*Rw; Range:[0, 1023]*/
CVI_U16 Filter2LumaOffset[BNR_LUMA_LUT_NUM]; /*Rw; Range:[0, 1023]*/
} ISP_BNR_FILTER_MANUAL_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
Filter1GaussianCurve |
NLMS base LUT, Gaussian。 取值范围: [0, 1023] 数据类型: CVI_U16 |
Filter1LumaOffset |
NLMS Luma LUT, Signal independen。 取值范围: [0, 1023] 数据类型: CVI_U16 |
Filter2GaussianCurve |
BF base LUT, Gaussian。 取值范围: [0, 1023] 数据类型: CVI_U16 |
Filter2LumaOffset |
BF Luma LUT, Signal independen。 取值范围: [0, 1023] 数据类型: CVI_U16 |
【注意事项】
无
【相关数据类型及接口】
14.3.5. ISP_BNR_FILTER_AUTO_ATTR_S¶
【说明】
定义自动Bayer降噪滤波器属性
【定义】
typedef struct _ISP_BNR_FILTER_AUTO_ATTR_S {
CVI_U16 Filter1GaussianCurve[BNR_BASE_LUT_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 1023]*/
CVI_U16 Filter1LumaOffset[BNR_LUMA_LUT_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 1023]*/
CVI_U16 Filter2GaussianCurve[BNR_BASE_LUT_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 1023]*/
CVI_U16 Filter2LumaOffset[BNR_LUMA_LUT_NUM][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 1023]*/
} ISP_BNR_FILTER_AUTO_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
Filter1GaussianCurve |
NLMS base LUT, Gaussian。 取值范围: [0, 1023] 数据类型: CVI_U16 |
Filter1LumaOffset |
NLMS Luma LUT, Signal independen。 取值范围: [0, 1023] 数据类型: CVI_U16 |
Filter2GaussianCurve |
BF base LUT, Gaussian。 取值范围: [0, 1023] 数据类型: CVI_U16 |
Filter2LumaOffset |
BF Luma LUT, Signal independen。 取值范围: [0, 1023] 数据类型: CVI_U16 |
【注意事项】
无
【相关数据类型及接口】
14.3.6. ISP_BNR_FILTER_ATTR_S¶
【说明】
定义Bayer降噪滤波器属性
【定义】
typedef struct _ISP_BNR_FILTER_ATTR_S {
CVI_U8 DebugMode; /*Rw; Range:[0, 3]*/
ISP_BNR_FILTER_MANUAL_ATTR_S stManual;
ISP_BNR_FILTER_AUTO_ATTR_S stAuto;
} ISP_BNR_FILTER_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
DebugMode |
设置调试模式 取值范围: [0, 3] 数据类型: CVI_U8 |
stManual |
手动参数 |
stAuto |
自动参数 |
【注意事项】
无
【相关数据类型及接口】