23. LDCI

23.1. Functional Description

Local Dynamic Contrast Improvement simplename, usingbyAdjusthistogramFiguretoaddstrongimageforratiodegree, raiseincreasedark areadetails.

23.2. API Reference

23.2.1. CVI_ISP_SetLDCIAttr

[Description]

SetLDCI parameter attributes

[Syntax]

CVI_S32 CVI_ISP_SetLDCIAttr(VI_PIPE ViPipe, const ISP_LDCI_ATTR_S *pstLDCIAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstLDCIAttr

LDCI 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_LDCI_ATTR_S stAttr;
CVI_ISP_GetLDCIAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetLDCIAttr(ViPipe, &stAttr);

[Related Topics]

23.2.2. CVI_ISP_GetLDCIAttr

[Description]

GetLDCI parameter attributes

[Syntax]

CVI_S32 CVI_ISP_GetLDCIAttr(VI_PIPE ViPipe, ISP_LDCI_ATTR_S *pstLDCIAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstLDCIAttr

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

23.3. Data Types

23.3.1. ISP_LDCI_MANUAL_ATTR_S

[Description]

Manual DefinitionLDCI parameter attributes

[Definition]

typedef struct _ISP_LDCI_MANUAL_ATTR_S {
        CVI_U8 LdciStrength[9]; /*Rw; Range:[0, 255]*/
        CVI_U8 AdaptiveGainMax; /*Rw; Range:[0, 255]*/
        CVI_U8 AdaptiveGainMin; /*Rw; Range:[0, 255]*/
        CVI_U8 FBCStrength; /*Rw; Range:[0, 31]*/
        CVI_U8 LdciThres1; /*Rw; Range:[0, 255]*/
} ISP_LDCI_MANUAL_ATTR_S;

[Members]

Member Name

Description

LdciStrength

according todifferent brightness, performdifferentstrength forratiodegreeboost.

Value Range: [0, 255]

Data Types: CVI_U8

AdaptiveGainMax

according tocurrentpointbrightnessandlocalaveragebrightness difference, performdifferentstrength forratiodegreeboost. the larger the value, brightnessdifferencelarge point, forratiodegreeboostdegreethe morelarge.

Value Range: [0, 255]

Data Types: CVI_U8

AdaptiveGainMin

according tocurrentpointbrightnessandlocalaveragebrightness difference, performdifferentstrength forratiodegreeboost. the larger the value, brightnessdifferencesmall point, forratiodegreeboostdegreethe morelarge.

Value Range: [0, 255]

Data Types: CVI_U8

FBCStrength

backlightfaceprotectionfunction. 0indicatesfunctionnotopenenable; non-0indicatesfunctionopenenable, andandthe smaller the value, facebrightnessprotectiondegreethe morelarge.

Value Range: [0, 31]

Data Types: CVI_U8

LdciThres1

forpixelpointbrightnessandblockaveragebrightness differencevalueperformshrink.

Value Range: [0, 255]

Data Types: CVI_U8

[Precautions]

None

[Related Data Types and Interfaces]

23.3.2. ISP_LDCI_AUTO_ATTR_S

[Description]

Automatic DefinitionLDCI parameter attributes

[Definition]

typedef struct _ISP_LDCI_AUTO_ATTR_S {
        CVI_U8 LdciStrength[9][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 AdaptiveGainMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 AdaptiveGainMin[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 FBCStrength[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 31]*/
        CVI_U8 LdciThres1[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
} ISP_LDCI_AUTO_ATTR_S;

[Members]

Member Name

Description

LdciStrength

according todifferent brightness, performdifferentstrength forratiodegreeboost.

Value Range: [0, 255]

Data Types: CVI_U8

AdaptiveGainMax

according tocurrentpointbrightnessandlocalaveragebrightness difference, performdifferentstrength forratiodegreeboost. the larger the value, brightnessdifferencelarge point, forratiodegreeboostdegreethe morelarge.

Value Range: [0, 255]

Data Types: CVI_U8

AdaptiveGainMin

according tocurrentpointbrightnessandlocalaveragebrightness difference, performdifferentstrength forratiodegreeboost. the larger the value, brightnessdifferencesmall point, forratiodegreeboostdegreethe morelarge.

Value Range: [0, 255]

Data Types: CVI_U8

FBCStrength

backlightfaceprotectionfunction. 0indicatesfunctionnotopenenable; non-0indicatesfunctionopenenable, andandthe smaller the value, facebrightnessprotectiondegreethe morelarge.

Value Range: [0, 31]

Data Types: CVI_U8

LdciThres1

forpixelpointbrightnessandblockaveragebrightness differencevalueperformshrink.

Value Range: [0, 255]

Data Types: CVI_U8

[Precautions]

None

[Related Data Types and Interfaces]

23.3.3. ISP_LDCI_ATTR_S

[Description]

Defines LDCI parameter attributes

[Definition]

typedef struct _ISP_LDCI_ATTR_S {
        CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
        ISP_OP_TYPE_E enOpType;
        CVI_U8 UpdateInterval; /*Rw; Range:[0, 255]*/
        CVI_U8 BlockNum; /*Rw; Range:[4, 62]*/
        ISP_LDCI_MANUAL_ATTR_S stManual;
        ISP_LDCI_AUTO_ATTR_S stAuto;
} ISP_LDCI_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: [0, 255]

Data Types: CVI_U8

BlockNum

systemstatisticallumaaveragevalue blockquantity.

Value Range: [4, 62]

Data Types: CVI_U8

stManual

manual parameters

stAuto

automatic parameters

[Precautions]

None

[Related Data Types and Interfaces]