22. DCI¶
22.1. Functional Description¶
Dynamic Contrast Improvement simplename, usingbyAdjusthistogramFiguretoaddstrongimageforratiodegree, raiseincreasedark areadetails.
22.2. API Reference¶
CVI_ISP_SetDCIAttr : SetDCI parameter attributes
CVI_ISP_GetDCIAttr : GetDCI parameter attributes
CVI_ISP_SetDciAutoGammaAttr : SetDci Gamma parameter attributes
CVI_ISP_GetDciAutoGammaAttr : GetDci Gamma parameter attributes
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¶
ISP_DCI_ATTR_S : Define DCI parameter attributes
ISP_DCI_AUTO_GAMMA_ATTR_S : Define Dci Gamma parameter attributes
ISP_DCI_GAMMA_CURVE_ATTR_S : Define Dci Gamma Curveparameter attributes
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]