19. SHARPEN

19.1. Functional Description

thismoduleuseinincreasestrongimagesharpness, positionin3DNRofafter, mainlysharpeningimagein largeedge.

19.2. API Reference

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

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]