22. DCI

22.1. Functional Description

Dynamic Contrast Improvement simplename, usingbyAdjusthistogramFiguretoaddstrongimageforratiodegree, raiseincreasedark areadetails.

22.2. API Reference

22.2.1. CVI_ISP_SetDCIAttr

[Description]

SetDCI parameter attributes

[Syntax]

CVI_S32 CVI_ISP_SetDCIAttr(VI_PIPE ViPipe, const ISP_DCI_ATTR_S *pstDCIAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstDCIAttr

DCI 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_DCI_ATTR_S stAttr;
CVI_ISP_GetDCIAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetDCIAttr(ViPipe, &stAttr);

[Related Topics]

22.2.2. CVI_ISP_GetDCIAttr

[Description]

GetDCI parameter attributes

[Syntax]

CVI_S32 CVI_ISP_GetDCIAttr(VI_PIPE ViPipe, ISP_DCI_ATTR_S *pstDCIAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstDCIAttr

DCI 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]

22.2.3. CVI_ISP_SetDciAutoGammaAttr

[Description]

SetDci Gamma parameter attributes

[Syntax]

CVI_S32 CVI_ISP_SetDciAutoGammaAttr(VI_PIPE ViPipe, const ISP_DCI_AUTO_GAMMA_ATTR_S *pstDciAutoGammaAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstDciAutoGammaAttr

Dci Gamma 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_DCI_AUTO_GAMMA_ATTR_S stAttr;
CVI_ISP_GetDciAutoGammaAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetDciAutoGammaAttr(ViPipe, &stAttr);

[Related Topics]

22.2.4. CVI_ISP_GetDciAutoGammaAttr

[Description]

GetDci Gamma parameter attributes

[Syntax]

CVI_S32 CVI_ISP_GetDciAutoGammaAttr(VI_PIPE ViPipe, ISP_DCI_AUTO_GAMMA_ATTR_S *pstDciAutoGammaAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstDciAutoGammaAttr

Dci Gamma 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]

22.3. Data Types

22.3.1. ISP_DCI_ATTR_S

[Description]

Define DCI parameter attributes

[Definition]

typedef struct _ISP_DCI_ATTR_S {
        CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
        ISP_DCI_CURVE_MODE_E CurveMode;
        CVI_U8 UpdateInterval; /*Rw; Range:[1, 255]*/
        CVI_U16 DciStrength; /*Rw; Range:[0, 8192]*/
        CVI_U8 DciGamma[5]; /*Rw; Range:[0, 31]*/
        CVI_U8 DciContrast[5]; /*Rw; Range:[0, 3]*/
        CVI_U8 DciOffset[5]; /*Rw; Range:[0, 15]*/
        CVI_U8 Sensitivity; /*Rw; Range:[0, 255]*/
        CVI_U16 Speed; /*Rw; Range:[0, 500]*/
        CVI_U8 DehazeLight; /*Rw; Range:[0, 5]*/
        CVI_U8 DehazeStrength; /*Rw; Range:[0, 100]*/
        CVI_U8 DehazeLut[6]; /*Rw; Range:[0, 100]*/
} ISP_DCI_ATTR_S;

[Members]

Member Name

Description

Enable

module enable switch

Value Range: [0, 1]

Data Types: CVI_BOOL

CurveMode

DciGammaCurvegeneratebecomemode

DCI_CURVE_AUTO: automatic mode

DCI_CURVE_AUTO_GAMMA: throughgammacurvegeneratebecomeDCIcurve

DCI_CURVE_DEHAZE: defoggingcurve

Data Types: ISP_DCI_CURVE_MODE_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

DciStrength

automatic modeundertakes effect, usetoControlDCI strength. the larger the value, forratiodegreethe morelarge.

Value Range: [0, 8192]

Data Types: CVI_U16

DciGamma

Auto gammamode, auxiliarypqtoolendmanualgeneratebecomeDciGammaCurve. usetoControlbrightnessraisedegree. the larger the value, brightnessraisedegreethe morelarge.

Value Range: [0, 31]

Data Types: CVI_U8

DciContrast

Auto gammamode, auxiliarypqtoolendmanualgeneratebecomeDciGammaCurve. usetoControlforratiodegreestrength, the larger the value, forratiodegreethe morelarge.

Value Range: [0, 3]

Data Types: CVI_U8

DciOffset

Auto gammamode, auxiliarypqtoolendmanualgeneratebecomeDciGammaCurve. DciOffsetusinginsidekeeplinear.

Value Range: [0, 15]

Data Types: CVI_U8

Sensitivity

sensitivedegree: sensitivedegreethe moreheight,dciagainoperation threadholdthe morelow

Value Range: [0, 255]

Data Types: CVI_U8

Speed

DCIcurvewhenintervaldomainonchange flatsequentialdegree. numberthe larger the value, whenintervaldomainchangethe moreflatsequential, and vice versa, thenchangethe morefast.

Value Range: [0, 500]

Data Types: CVI_U16

DehazeLight

brightnesshistogramFigurepercentagepartratio

Value Range: [0, 5]

Data Types: CVI_U8

DehazeStrength

defoggingstrength

Value Range: [0, 100]

Data Types: CVI_U8

DehazeLut

defoggingtable

Value Range: [0, 100]

Data Types: CVI_U8

[Precautions]

None

[Related Data Types and Interfaces]

22.3.2. ISP_DCI_AUTO_GAMMA_ATTR_S

[Description]

Define Dci Gamma parameter attributes

[Definition]

typedef struct _ISP_DCI_AUTO_GAMMA_ATTR_S {
        CVI_U8 GammaTabNum; /*Rw; Range:[1, 5]*/
        ISP_DCI_GAMMA_CURVE_ATTR_S GammaTab[5];
} ISP_DCI_AUTO_GAMMA_ATTR_S;

[Members]

Member Name

Description

GammaTabNum

adaptive Gamma curvequantity.

Value Range: [1, 5]

Data Types: CVI_U8

GammaTab

adaptive Gamma curveinformation.

Data Types: ISP_DCI_GAMMA_CURVE_ATTR_S

[Precautions]

None

[Related Data Types and Interfaces]

22.3.3. ISP_DCI_GAMMA_CURVE_ATTR_S

[Description]

Define Dci Gamma Curveparameter attributes

[Definition]

typedef struct _ISP_DCI_GAMMA_CURVE_ATTR_S {
        CVI_S16 Lv; /*Rw; Range:[-500, 1500]*/
        CVI_U16 Tbl[256]; /*Rw; Range:[0, 255]*/
} ISP_DCI_GAMMA_CURVE_ATTR_S;

[Members]

Member Name

Description

Lv

Gamma curvecorresponding Lv range.

Value Range: [-500, 1500]

Data Types: CVI_S16

Tbl

Gammacurvenodevalues.

Value Range: [0, 255]

Data Types: CVI_U16

[Precautions]

None

[Related Data Types and Interfaces]