14. YNR¶
14.1. 功能描述¶
在 YUV Domain 针对亮度噪声进行的空域去噪算法。
14.2. API 参考¶
CVI_ISP_SetYNRAttr: 设置亮度降噪属性参数
CVI_ISP_GetYNRAttr: 获取亮度降噪属性参数
CVI_ISP_SetYNRMotionNRAttr: 设置亮度降噪移动物体属性参数
CVI_ISP_GetYNRMotionNRAttr: 获取亮度降噪移动物体属性参数
CVI_ISP_SetYNRFilterAttr: 设置亮度降噪滤波器属性参数
CVI_ISP_GetYNRFilterAttr: 获取亮度降噪滤波器属性参数
14.2.1. CVI_ISP_SetYNRAttr¶
【描述】
设置亮度降噪属性参数
【语法】
CVI_S32 CVI_ISP_SetYNRAttr(VI_PIPE ViPipe, const ISP_YNR_ATTR_S *pstYNRAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstYNRAttr |
亮度降噪属性参数 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
14.2.2. CVI_ISP_GetYNRAttr¶
【描述】
获取亮度降噪属性参数
【语法】
CVI_S32 CVI_ISP_GetYNRAttr(VI_PIPE ViPipe, ISP_YNR_ATTR_S *pstYNRAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstYNRAttr |
亮度降噪属性参数 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
14.2.3. CVI_ISP_SetYNRMotionNRAttr¶
【描述】
设置亮度降噪移动物体属性参数
【语法】
CVI_S32 CVI_ISP_SetYNRMotionNRAttr(VI_PIPE ViPipe, const ISP_YNR_MOTION_NR_ATTR_S *pstYNRMotionNRAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstYNRMotionNRAttr |
设置亮度降噪移动物体属性参数 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
14.2.4. CVI_ISP_GetYNRMotionNRAttr¶
【描述】
获取亮度降噪移动物体属性参数
【语法】
CVI_S32 CVI_ISP_GetYNRMotionNRAttr(VI_PIPE ViPipe, ISP_YNR_MOTION_NR_ATTR_S *pstYNRMotionNRAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstYNRMotionNRAttr |
设置亮度降噪移动物体属性参数 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
14.2.5. CVI_ISP_SetYNRFilterAttr¶
【描述】
设置亮度降噪滤波器属性参数
【语法】
CVI_S32 CVI_ISP_SetYNRFilterAttr(VI_PIPE ViPipe, const ISP_YNR_FILTER_ATTR_S *pstYNRFilterAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstYNRFilterAttr |
亮度降噪滤波器属性参数 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
14.2.6. CVI_ISP_GetYNRFilterAttr¶
【描述】
获取亮度降噪滤波器属性参数
【语法】
CVI_S32 CVI_ISP_GetYNRFilterAttr(VI_PIPE ViPipe, ISP_YNR_FILTER_ATTR_S *pstYNRFilterAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstYNRFilterAttr |
亮度降噪滤波器属性参数 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
14.3. 数据类型¶
ISP_YNR_MANUAL_ATTR_S: 亮度降噪属性手动参数
ISP_YNR_AUTO_ATTR_S: 亮度降噪属性自动参数
ISP_YNR_ATTR_S: 亮度降噪属性参数
ISP_YNR_MOTION_NR_MANUAL_ATTR_S: 亮度降噪移动物体属性手动参数
ISP_YNR_MOTION_NR_AUTO_ATTR_S: 亮度降噪移动物体属性自动参数
ISP_YNR_MOTION_NR_ATTR_S: 亮度降噪移动物体属性参数
ISP_YNR_FILTER_MANUAL_ATTR_S: 亮度降噪滤波器属性手动参数
ISP_YNR_FILTER_AUTO_ATTR_S: 亮度降噪滤波器属性自动参数
ISP_YNR_FILTER_ATTR_S: 亮度降噪滤波器属性参数
14.3.1. ISP_YNR_MANUAL_ATTR_S¶
【说明】
亮度降噪属性手动参数
【定义】
typedef struct _ISP_YNR_MANUAL_ATTR_S {
CVI_U8 WindowType;
CVI_U8 DetailSmoothMode;
CVI_U8 NoiseSuppressStr;
CVI_U8 FilterType;
CVI_U8 NoiseCoringMax;
CVI_U8 NoiseCoringBase;
CVI_U8 NoiseCoringAdv;
} ISP_YNR_MANUAL_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
WindowType |
去噪滤波局域程度。其值越小,作用越局域。 取值范围: [0x0, 0xb] 数据类型: CVI_U8 |
DetailSmoothMode |
去噪细节平滑功能使能。 0: 关闭。 1: 使能。 取值范围: [0x0, 0x1] 数据类型: CVI_U8 |
NoiseSuppressStr |
噪声抑制强度。值越大,亮噪去除强度越大。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
FilterType |
去噪滤波器强度。值越大,亮噪去除强度越大。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
NoiseCoringMax |
噪声抑制强度可允许之最大值。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
NoiseCoringBase |
运动区亮度噪声容忍值,运动区的判断与TNR运动区侦测连动。值越大,对运动区去噪强度越大。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
NoiseCoringAdv |
静止区亮度噪声容忍值,静止区的判断与TNR运动区侦测连动。值越大,对静止区去噪强度越大。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
【注意事项】
无
【相关数据类型及接口】
14.3.2. ISP_YNR_AUTO_ATTR_S¶
【说明】
亮度降噪属性自动参数
【定义】
typedef struct _ISP_YNR_AUTO_ATTR_S {
CVI_U8 WindowType[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 DetailSmoothMode[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 NoiseSuppressStr[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 FilterType[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 NoiseCoringMax[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 NoiseCoringBase[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 NoiseCoringAdv[ISP_AUTO_ISO_STRENGTH_NUM];
} ISP_YNR_AUTO_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
WindowType |
去噪滤波局域程度。其值越小,作用越局域。 取值范围: [0x0, 0xb] 数据类型: CVI_U8 |
DetailSmoothMode |
去噪细节平滑功能使能。 0: 关闭。 1: 使能。 取值范围: [0x0, 0x1] 数据类型: CVI_U8 |
NoiseSuppressStr |
噪声抑制强度。值越大,亮噪去除强度越大。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
FilterType |
去噪滤波器强度。值越大,亮噪去除强度越大。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
NoiseCoringMax |
噪声抑制强度可允许之最大值。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
NoiseCoringBase |
运动区亮度噪声容忍值,运动区的判断与TNR运动区侦测连动。值越大,对运动区去噪强度越大。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
NoiseCoringAdv |
静止区亮度噪声容忍值,静止区的判断与TNR运动区侦测连动。值越大,对静止区去噪强度越大。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
【注意事项】
无
【相关数据类型及接口】
14.3.3. ISP_YNR_ATTR_S¶
【说明】
亮度降噪属性参数
【定义】
typedef struct _ISP_YNR_ATTR_S {
CVI_BOOL Enable;
ISP_OP_TYPE_E enOpType;
CVI_U8 UpdateInterval;
CVI_BOOL CoringParamEnable;
CVI_BOOL FiltModeEnable;
CVI_U16 FiltMode;
CVI_U8 TuningMode;
ISP_YNR_MANUAL_ATTR_S stManual;
ISP_YNR_AUTO_ATTR_S stAuto;
} ISP_YNR_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
Enable |
YNR模块使能。 0: 关闭。 1: 使能。 取值范围: [0, 1] 数据类型: CVI_BOOL |
enOpType |
工作类型 OP_TYPE_AUTO: 自动模式 OP_TYPE_MANUAL: 手动模式 |
UpdateInterval |
影响参数更新间隔,值越大画面变化越慢, 效能越好。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
CoringParamEnable |
控制是否使用手动coring, 假如为0则 NoiseCoringBaseLuma[6] / NoiseCoringBaseOffset[6] / NoiseCoringAdvLuma[6] / NoiseCoringAdvOffset[6] 没有用。 取值范围: [0, 1] 数据类型: CVI_BOOL |
FiltModeEnable |
滤波器手调混和模式使能。 0: 关闭。 1: 使能。 取值范围: [0, 1] 数据类型: CVI_BOOL |
FiltMode |
滤波器手调混和权重。 取值范围: [0, 0x100] 数据类型: CVI_U16 |
TuningMode |
输出元文件案,辅助调节参数。8: YNR图像结果。11: 平坦/边缘侦测图像结果。(Remove 12, 13, 14, 15) 12: 垂直边缘侦测图像结果。13: 水平边缘侦测图像结果。14: 反对角线边缘侦测图像结果。15: 对角线边缘侦测图像结果。 取值范围: [0x0, 0xf] 数据类型: CVI_U8 |
stManual |
手动模式参数属性 |
stAuto |
自动模式参数属性 |
【注意事项】
无
【相关数据类型及接口】
14.3.4. ISP_YNR_MOTION_NR_MANUAL_ATTR_S¶
【说明】
亮度降噪移动物体属性手动参数
【定义】
typedef struct _ISP_YNR_MOTION_NR_MANUAL_ATTR_S {
CVI_U8 MotionCoringWgtMax;
CVI_U16 MotionYnrLut[16];
CVI_U16 MotionCoringWgt[16];
} ISP_YNR_MOTION_NR_MANUAL_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
MotionCoringWgtMax |
针对物体运动区域,可允许保留噪声的最大值。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
MotionYnrLut[16] |
调整在不同物体运动量时对应的去亮噪强度,将运动量区分为16阶。值越大,去亮噪强度越强。 取值范围: [0x0, 0xff] 数据类型: CVI_U16 |
MotionCoringWgt [16] |
调整在不同物体运动量时对应的噪声保留程度,将运动量区分为16阶。值越大,噪声保留越多。 取值范围: [0x0, 0x100] 数据类型: CVI_U16 |
【注意事项】
无
【相关数据类型及接口】
14.3.5. ISP_YNR_MOTION_NR_AUTO_ATTR_S¶
【说明】
亮度降噪移动物体属性自动参数
【定义】
typedef struct _ISP_YNR_MOTION_NR_AUTO_ATTR_S {
CVI_U8 MotionCoringWgtMax[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U16 MotionYnrLut[16][ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U16 MotionCoringWgt[16][ISP_AUTO_ISO_STRENGTH_NUM];
} ISP_YNR_MOTION_NR_AUTO_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
MotionCoringWgtMax |
针对物体运动区域,可允许保留噪声的最大值。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
MotionYnrLut[16] |
调整在不同物体运动量时对应的去亮噪强度,将运动量区分为16阶。值越大,去亮噪强度越强。 取值范围: [0x0, 0xff] 数据类型: CVI_U16 |
MotionCoringWgt [16] |
调整在不同物体运动量时对应的噪声保留程度,将运动量区分为16阶。值越大,噪声保留越多。 取值范围: [0x0, 0x100] 数据类型: CVI_U16 |
【注意事项】
无
【相关数据类型及接口】
14.3.6. ISP_YNR_MOTION_NR_ATTR_S¶
【说明】
亮度降噪移动物体属性参数
【定义】
typedef struct _ISP_YNR_MOTION_NR_ATTR_S {
ISP_YNR_MOTION_NR_MANUAL_ATTR_S stManual;
ISP_YNR_MOTION_NR_AUTO_ATTR_S stAuto;
} ISP_YNR_MOTION_NR_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
stManual |
手动模式参数属性 |
stAuto |
自动模式参数属性 |
【注意事项】
无
【相关数据类型及接口】
14.3.7. ISP_YNR_FILTER_MANUAL_ATTR_S¶
【说明】
亮度降噪滤波器属性手动参数
【定义】
typedef struct _ISP_YNR_FILTER_MANUAL_ATTR_S {
CVI_U8 VarThr;
CVI_U16 CoringWgtLF;
CVI_U16 CoringWgtHF;
CVI_U8 NonDirFiltStr;
CVI_U8 VhDirFiltStr;
CVI_U8 AaDirFiltStr;
CVI_U8 CoringWgtMax;
CVI_U16 FilterMode;
} ISP_YNR_FILTER_MANUAL_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
VarThr |
侦测边缘的阈值。值越大,判断为边缘的数量越少。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
CoringWgtLF |
调节在低频区域的随机噪声强度。值越大,在低频区域保留的噪声越多。 取值范围: [0x0, 0x100] 数据类型: CVI_U16 |
CoringWgtHF |
调节在高频区域的随机噪声强度。值越大,在高频区域的保留的噪声越多。 取值范围: [0x0, 0x100] 数据类型: CVI_U16 |
NonDirFiltStr |
调节在低频区的去噪强度。值越大,在低频区域去除的噪声越多。 取值范围: [0x0, 0x1f] 数据类型: CVI_U8 |
VhDirFiltStr |
调节在水平和垂直区的去噪强度。值越大,在水平和垂直边缘去除的噪声越多。 取值范围: [0x0, 0x1f] 数据类型: CVI_U8 |
AaDirFiltStr |
调节在对角线边缘的去噪强度。值越大,在对角线边缘去除的噪声越多。 取值范围: [0x0, 0x1f] 数据类型: CVI_U8 |
CoringWgtMax |
可允许保留噪声的最大值。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
FilterMode |
滤波器模式。值越小,平坦区保留的噪声均匀性越好。 取值范围: [0x0, 0x3ff] 数据类型: CVI_U16 |
【注意事项】
无
【相关数据类型及接口】
14.3.8. ISP_YNR_FILTER_AUTO_ATTR_S¶
【说明】
亮度降噪滤波器属性自动参数
【定义】
typedef struct _ISP_YNR_FILTER_AUTO_ATTR_S {
CVI_U8 VarThr[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U16 CoringWgtLF[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U16 CoringWgtHF[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 NonDirFiltStr[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 VhDirFiltStr[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 AaDirFiltStr[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 CoringWgtMax[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U16 FilterMode[ISP_AUTO_ISO_STRENGTH_NUM];
} ISP_YNR_FILTER_AUTO_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
VarThr |
侦测边缘的阈值。值越大,判断为边缘的数量越少。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
CoringWgtLF |
调节在低频区域的随机噪声强度。值越大,在低频区域保留的噪声越多。 取值范围: [0x0, 0x100] 数据类型: CVI_U16 |
CoringWgtHF |
调节在高频区域的随机噪声强度。值越大,在高频区域的保留的噪声越多。 取值范围: [0x0, 0x100] 数据类型: CVI_U16 |
NonDirFiltStr |
调节在低频区的去噪强度。值越大,在低频区域去除的噪声越多。 取值范围: [0x0, 0x1f] 数据类型: CVI_U8 |
VhDirFiltStr |
调节在水平和垂直区的去噪强度。值越大,在水平和垂直边缘去除的噪声越多。 取值范围: [0x0, 0x1f] 数据类型: CVI_U8 |
AaDirFiltStr |
调节在对角线边缘的去噪强度。值越大,在对角线边缘去除的噪声越多。 取值范围: [0x0, 0x1f] 数据类型: CVI_U8 |
CoringWgtMax |
可允许保留噪声的最大值。 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
FilterMode |
滤波器模式。值越小,平坦区保留的噪声均匀性越好。 取值范围: [0x0, 0x3ff] 数据类型: CVI_U16 |
【注意事项】
无
【相关数据类型及接口】
14.3.9. ISP_YNR_FILTER_ATTR_S¶
【说明】
亮度降噪滤波器属性参数
【定义】
typedef struct _ISP_YNR_FILTER_ATTR_S {
ISP_YNR_FILTER_MANUAL_ATTR_S stManual;
ISP_YNR_FILTER_AUTO_ATTR_S stAuto;
} ISP_YNR_FILTER_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
stManual |
手动模式参数属性 |
stAuto |
自动模式参数属性 |
【注意事项】
无
【相关数据类型及接口】