19. SHARPEN¶
19.1. Functional Description¶
thismoduleuseinincreasestrongimagesharpness, positionin3DNRofafter, mainlysharpeningimagein largeedge.
19.2. API Reference¶
CVI_ISP_SetSharpenAttr : SetSharpen parameter attributes
CVI_ISP_GetSharpenAttr : GetSharpen parameter attributes
19.2.1. CVI_ISP_SetSharpenAttr¶
[Description]
SetSharpen parameter attributes
[Syntax]
CVI_S32 CVI_ISP_SetSharpenAttr(VI_PIPE ViPipe, const ISP_SHARPEN_ATTR_S *pstSharpenAttr);
[Parameters]
Parameter Name |
Description |
Input/Output |
|---|---|---|
ViPipe |
VI_PIPE No. |
Input |
pstSharpenAttr |
Sharpen parameter attributes |
Input |
[Return Value]
Return Value |
Description |
|---|---|
0 |
Success |
Non-zero |
Failure, whose value is Error Code. |
[Requirements]
Header File: cvi_isp.h, cvi_comm_isp.h
Library File: libisp.so
[Note]
None
[Example]
VI_PIPE ViPipe = 0;
ISP_SHARPEN_ATTR_S stAttr;
CVI_ISP_GetSharpenAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetSharpenAttr(ViPipe, &stAttr);
[Related Topics]
19.2.2. CVI_ISP_GetSharpenAttr¶
[Description]
GetSharpen parameter attributes
[Syntax]
CVI_S32 CVI_ISP_GetSharpenAttr(VI_PIPE ViPipe, ISP_SHARPEN_ATTR_S *pstSharpenAttr);
[Parameters]
Parameter Name |
Description |
Input/Output |
|---|---|---|
ViPipe |
VI_PIPE No. |
Input |
pstSharpenAttr |
Sharpen parameter attributes |
output |
[Return Value]
Return Value |
Description |
|---|---|
0 |
Success |
Non-zero |
Failure, whose value is Error Code. |
[Requirements]
Header File: cvi_isp.h, cvi_comm_isp.h
Library File: libisp.so
[Note]
None
[Example]
None
[Related Topics]
19.3. Data Types¶
ISP_SHARPEN_MANUAL_ATTR_S : Manual DefinitionSharpen parameter attributes
ISP_SHARPEN_AUTO_ATTR_S : Automatic DefinitionSharpen parameter attributes
ISP_SHARPEN_ATTR_S : Define Sharpen parameter attributes
19.3.1. ISP_SHARPEN_MANUAL_ATTR_S¶
[Description]
Manual DefinitionSharpen parameter attributes
[Definition]
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;
[Members]
Member Name |
Description |
|---|---|
EE1CoringThr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
NoiseBase |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
EE2BalanceRatio |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
EE2SharpStr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
EE2CoringThr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
OverShootRatio |
whiteedgesuppress. the smaller the value, whiteedgesuppressdegreethe morelarge. Value Range: [0, 255] Data Types: CVI_U8 |
UnderShootRatio |
black bordersuppress. the smaller the value, black bordersuppressdegreethe morelarge. Value Range: [0, 255] Data Types: CVI_U8 |
EE1BlendWgt |
To be completed Value Range: [0, 8] Data Types: CVI_U8 |
EE1FlatThr |
To be completed Value Range: [0, 2047] Data Types: CVI_U16 |
EE1EdgeThr |
To be completed Value Range: [0, 2047] Data Types: CVI_U16 |
EE1FlatRegionStr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
EE1EdgeRegionStr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
EE1MotionStr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
EE1StaticStr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
EE1TransStr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
NoiseLut |
noisestrengthsettings. according tobrightnessdifferent, Setdifferent noisestrength. noisestrengththe morelarge, sharpeningstrengththe moresmall. Value Range: [0, 255] Data Types: CVI_U8 |
HueShtCtrl |
based on the specified colorperform edge enhancement Value Range: [0, 63] Data Types: CVI_U8 |
SatShtGainIn |
based on the specified saturationperform edge enhancement, thisisInputnode, Inputsaturation. Value Range: [0, 255] Data Types: CVI_U8 |
SatShtGainOut |
based on the specified saturationperform edge enhancement, thisisoutputnode, outputcorrespondingsaturation edgestrength. Value Range: [0, 128] Data Types: CVI_U8 |
[Precautions]
None
[Related Data Types and Interfaces]
19.3.2. ISP_SHARPEN_AUTO_ATTR_S¶
[Description]
Automatic DefinitionSharpen parameter attributes
[Definition]
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;
[Members]
Member Name |
Description |
|---|---|
EE1CoringThr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
NoiseBase |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
EE2BalanceRatio |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
EE2SharpStr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
EE2CoringThr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
OverShootRatio |
whiteedgesuppress. the smaller the value, whiteedgesuppressdegreethe morelarge. Value Range: [0, 255] Data Types: CVI_U8 |
UnderShootRatio |
black bordersuppress. the smaller the value, black bordersuppressdegreethe morelarge. Value Range: [0, 255] Data Types: CVI_U8 |
EE1BlendWgt |
To be completed Value Range: [0, 8] Data Types: CVI_U8 |
EE1FlatThr |
To be completed Value Range: [0, 2047] Data Types: CVI_U16 |
EE1EdgeThr |
To be completed Value Range: [0, 2047] Data Types: CVI_U16 |
EE1FlatRegionStr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
EE1EdgeRegionStr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
EE1MotionStr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
EE1StaticStr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
EE1TransStr |
To be completed Value Range: [0, 255] Data Types: CVI_U8 |
NoiseLut |
noisestrengthsettings. according tobrightnessdifferent, Setdifferent noisestrength. noisestrengththe morelarge, sharpeningstrengththe moresmall. Value Range: [0, 255] Data Types: CVI_U8 |
HueShtCtrl |
based on the specified colorperform edge enhancement Value Range: [0, 63] Data Types: CVI_U8 |
SatShtGainIn |
based on the specified saturationperform edge enhancement, thisisInputnode, Inputsaturation. Value Range: [0, 255] Data Types: CVI_U8 |
SatShtGainOut |
based on the specified saturationperform edge enhancement, thisisoutputnode, outputcorrespondingsaturation edgestrength. Value Range: [0, 128] Data Types: CVI_U8 |
[Precautions]
None
[Related Data Types and Interfaces]
19.3.3. ISP_SHARPEN_ATTR_S¶
[Description]
Define Sharpen parameter attributes
[Definition]
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;
[Members]
Member Name |
Description |
|---|---|
Enable |
module enable switch Value Range: [0, 1] Data Types: CVI_BOOL |
enOpType |
operation type OP_TYPE_AUTO: automatic mode OP_TYPE_MANUAL: manual mode Data Types: ISP_OP_TYPE_E |
UpdateInterval |
affects the parameter update interval,the larger the value, the slower the image changes,the better the performance. Value Range: [1, 255] Data Types: CVI_U8 |
TuningMode |
outputDebugscheme, auxiliaryAdjustparameternumber 0=normal; 1=EdgeEnergy; 2=EdgeWeight; 3=Enhance; 4=ReguinClass; 5=Edgevalue, 6=EdgeNoRefine Value Range: [0, 7] Data Types: CVI_U8 |
MotionEn |
according tomotionstatusdifferent, Adjustsharpeningstrength Enableopenclose Value Range: [0, 1] Data Types: CVI_BOOL |
SatShtCtrlEn |
bysaturationAdjustedgeincreasestrong Enable Value Range: [0, 1] Data Types: CVI_BOOL |
enFilterType |
Filter SIZE type OP_TYPE_3x3: 3x3 kernel; OP_TYPE_5x5: 5x5 kernel; Data Types: ISP_EE_FILTER_SIZE_TYPE_E |
EE1SrcType |
WEIGHT SRC type Data Types: ISP_EE_WEIGHT_SRC_TYPE_E |
stManual |
manual parameters |
stAuto |
automatic parameters |
[Precautions]
None
[Related Data Types and Interfaces]