19. SHARPEN¶
19.1. 功能描述¶
此模块用于增强图像清晰度,位于3DNR之后,主要锐化图像中的大边缘。
19.2. API 参考¶
CVI_ISP_SetSharpenAttr : 设置Sharpen 参数属性
CVI_ISP_GetSharpenAttr : 获取Sharpen 参数属性
19.2.1. CVI_ISP_SetSharpenAttr¶
【描述】
设置Sharpen 参数属性
【语法】
CVI_S32 CVI_ISP_SetSharpenAttr(VI_PIPE ViPipe, const ISP_SHARPEN_ATTR_S *pstSharpenAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstSharpenAttr |
Sharpen 参数属性 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
VI_PIPE ViPipe = 0;
ISP_SHARPEN_ATTR_S stAttr;
CVI_ISP_GetSharpenAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetSharpenAttr(ViPipe, &stAttr);
【相关主题】
19.2.2. CVI_ISP_GetSharpenAttr¶
【描述】
获取Sharpen 参数属性
【语法】
CVI_S32 CVI_ISP_GetSharpenAttr(VI_PIPE ViPipe, ISP_SHARPEN_ATTR_S *pstSharpenAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstSharpenAttr |
Sharpen 参数属性 |
输出 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
19.3. 数据类型¶
ISP_SHARPEN_MANUAL_ATTR_S : 定义手动Sharpen 参数属性
ISP_SHARPEN_AUTO_ATTR_S : 定义自动Sharpen 参数属性
ISP_SHARPEN_ATTR_S : 定义Sharpen 参数属性
19.3.1. ISP_SHARPEN_MANUAL_ATTR_S¶
【说明】
定义手动Sharpen 参数属性
【定义】
typedef struct _ISP_SHARPEN_MANUAL_ATTR_S {
CVI_U8 EE1CoringThr; /*Rw; Range:[0, 255]*/
CVI_U8 NoiseBase; /*Rw; Range:[0, 255]*/
CVI_U8 EE2BalanceRatio; /*Rw; Range:[0, 255]*/
CVI_U8 EE2SharpStr; /*Rw; Range:[0, 255]*/
CVI_U8 EE2CoringThr; /*Rw; Range:[0, 255]*/
CVI_U8 OverShootRatio; /*Rw; Range:[0, 255]*/
CVI_U8 UnderShootRatio; /*Rw; Range:[0, 255]*/
CVI_U8 EE1BlendWgt; /*Rw; Range:[0, 8]*/
CVI_U16 EE1FlatThr; /*Rw; Range:[0, 2047]*/
CVI_U16 EE1EdgeThr; /*Rw; Range:[0, 2047]*/
CVI_U8 EE1FlatRegionStr; /*Rw; Range:[0, 255]*/
CVI_U8 EE1EdgeRegionStr; /*Rw; Range:[0, 255]*/
CVI_U8 EE1MotionStr; /*Rw; Range:[0, 255]*/
CVI_U8 EE1StaticStr; /*Rw; Range:[0, 255]*/
CVI_U8 EE1TransStr; /*Rw; Range:[0, 255]*/
CVI_U8 NoiseLut[17]; /*Rw; Range:[0, 255]*/
CVI_U8 HueShtCtrl[33]; /*Rw; Range:[0, 63]*/
CVI_U8 SatShtGainIn[4]; /*Rw; Range:[0, 255]*/
CVI_U8 SatShtGainOut[4]; /*Rw; Range:[0, 128]*/
} ISP_SHARPEN_MANUAL_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
EE1CoringThr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
NoiseBase |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
EE2BalanceRatio |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
EE2SharpStr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
EE2CoringThr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
OverShootRatio |
白边抑制。值越小,白边抑制程度越大。 取值范围: [0, 255] 数据类型: CVI_U8 |
UnderShootRatio |
黑边抑制。值越小,黑边抑制程度越大。 取值范围: [0, 255] 数据类型: CVI_U8 |
EE1BlendWgt |
待完善 取值范围: [0, 8] 数据类型: CVI_U8 |
EE1FlatThr |
待完善 取值范围: [0, 2047] 数据类型: CVI_U16 |
EE1EdgeThr |
待完善 取值范围: [0, 2047] 数据类型: CVI_U16 |
EE1FlatRegionStr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
EE1EdgeRegionStr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
EE1MotionStr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
EE1StaticStr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
EE1TransStr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
NoiseLut |
噪声强度设定。根据亮度不同,设置不同的噪声强度。噪声强度越大,锐化强度越小。 取值范围: [0, 255] 数据类型: CVI_U8 |
HueShtCtrl |
基于指定的色彩做边缘增强 取值范围: [0, 63] 数据类型: CVI_U8 |
SatShtGainIn |
基于指定的饱和度做边缘增强,此为输入节点,输入饱和度。 取值范围: [0, 255] 数据类型: CVI_U8 |
SatShtGainOut |
基于指定的饱和度做边缘增强,此为输出节点,输出对应饱和度的边缘强度。 取值范围: [0, 128] 数据类型: CVI_U8 |
【注意事项】
无
【相关数据类型及接口】
19.3.2. ISP_SHARPEN_AUTO_ATTR_S¶
【说明】
定义自动Sharpen 参数属性
【定义】
typedef struct _ISP_SHARPEN_AUTO_ATTR_S {
CVI_U8 EE1CoringThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 NoiseBase[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 EE2BalanceRatio[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 EE2SharpStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 EE2CoringThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 OverShootRatio[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 UnderShootRatio[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 EE1BlendWgt[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 8]*/
CVI_U16 EE1FlatThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 2047]*/
CVI_U16 EE1EdgeThr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 2047]*/
CVI_U8 EE1FlatRegionStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 EE1EdgeRegionStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 EE1MotionStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 EE1StaticStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 EE1TransStr[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 NoiseLut[17][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 HueShtCtrl[33][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 63]*/
CVI_U8 SatShtGainIn[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 SatShtGainOut[4][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 128]*/
} ISP_SHARPEN_AUTO_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
EE1CoringThr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
NoiseBase |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
EE2BalanceRatio |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
EE2SharpStr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
EE2CoringThr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
OverShootRatio |
白边抑制。值越小,白边抑制程度越大。 取值范围: [0, 255] 数据类型: CVI_U8 |
UnderShootRatio |
黑边抑制。值越小,黑边抑制程度越大。 取值范围: [0, 255] 数据类型: CVI_U8 |
EE1BlendWgt |
待完善 取值范围: [0, 8] 数据类型: CVI_U8 |
EE1FlatThr |
待完善 取值范围: [0, 2047] 数据类型: CVI_U16 |
EE1EdgeThr |
待完善 取值范围: [0, 2047] 数据类型: CVI_U16 |
EE1FlatRegionStr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
EE1EdgeRegionStr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
EE1MotionStr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
EE1StaticStr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
EE1TransStr |
待完善 取值范围: [0, 255] 数据类型: CVI_U8 |
NoiseLut |
噪声强度设定。根据亮度不同,设置不同的噪声强度。噪声强度越大,锐化强度越小。 取值范围: [0, 255] 数据类型: CVI_U8 |
HueShtCtrl |
基于指定的色彩做边缘增强 取值范围: [0, 63] 数据类型: CVI_U8 |
SatShtGainIn |
基于指定的饱和度做边缘增强,此为输入节点,输入饱和度。 取值范围: [0, 255] 数据类型: CVI_U8 |
SatShtGainOut |
基于指定的饱和度做边缘增强,此为输出节点,输出对应饱和度的边缘强度。 取值范围: [0, 128] 数据类型: CVI_U8 |
【注意事项】
无
【相关数据类型及接口】
19.3.3. ISP_SHARPEN_ATTR_S¶
【说明】
定义Sharpen 参数属性
【定义】
typedef struct _ISP_SHARPEN_ATTR_S {
CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
ISP_OP_TYPE_E enOpType;
CVI_U8 UpdateInterval; /*Rw; Range:[1, 255]*/
CVI_U8 TuningMode; /*Rw; Range:[0, 7]*/
CVI_BOOL MotionEn; /*Rw; Range:[0, 1]*/
CVI_BOOL SatShtCtrlEn; /*Rw; Range:[0, 1]*/
ISP_EE_FILTER_SIZE_TYPE_E enFilterType;
ISP_EE_WEIGHT_SRC_TYPE_E EE1SrcType;
ISP_SHARPEN_MANUAL_ATTR_S stManual;
ISP_SHARPEN_AUTO_ATTR_S stAuto;
} ISP_SHARPEN_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
Enable |
模块使能开关 取值范围: [0, 1] 数据类型: CVI_BOOL |
enOpType |
工作类型 OP_TYPE_AUTO:自动模式 OP_TYPE_MANUAL:手动模式 数据类型: ISP_OP_TYPE_E |
UpdateInterval |
影响参数更新间隔,值越大画面变化越慢,效能越好。 取值范围: [1, 255] 数据类型: CVI_U8 |
TuningMode |
输出调试方案,辅助调节参数 0=normal; 1=EdgeEnergy; 2=EdgeWeight; 3=Enhance; 4=ReguinClass; 5=Edgevalue, 6=EdgeNoRefine 取值范围: [0, 7] 数据类型: CVI_U8 |
MotionEn |
根据运动状态不同,调整锐化强度的使能开关 取值范围: [0, 1] 数据类型: CVI_BOOL |
SatShtCtrlEn |
由饱和度调整边缘增强的使能 取值范围: [0, 1] 数据类型: CVI_BOOL |
enFilterType |
Filter SIZE 类型 OP_TYPE_3x3: 3x3 核; OP_TYPE_5x5: 5x5 核; 数据类型: ISP_EE_FILTER_SIZE_TYPE_E |
EE1SrcType |
WEIGHT SRC 类型 数据类型: ISP_EE_WEIGHT_SRC_TYPE_E |
stManual |
手动参数 |
stAuto |
自动参数 |
【注意事项】
无
【相关数据类型及接口】