12. CCM

12.1. Functional Description

CCM is Color Correction Matrix simplename. becauseis Sensor in RGB responseandhuman visionnotuse, theusingneed tousethismatrixperformconversion, makebeforeendcaptureobtain imagebrightnessandhuman visionconsistent.

12.2. API Reference

12.2.1. CVI_ISP_SetCCMAttr

[Description]

Setcolorcorrectionmatrixattribute parameters

[Syntax]

CVI_S32 CVI_ISP_SetCCMAttr(VI_PIPE ViPipe, const ISP_CCM_ATTR_S *pstCCMAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstCCMAttr

colorcorrectionmatrixattribute parameters

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_CCM_ATTR_S stAttr;
CVI_ISP_GetCCMAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetCCMAttr(ViPipe, &stAttr);

[Related Topics]

12.2.2. CVI_ISP_GetCCMAttr

[Description]

Getcolorcorrectionmatrixattribute parameters

[Syntax]

CVI_S32 CVI_ISP_GetCCMAttr(VI_PIPE ViPipe, ISP_CCM_ATTR_S *pstCCMAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstCCMAttr

colorcorrectionmatrixattribute parameters

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]

12.2.3. CVI_ISP_SetCCMSaturationAttr

[Description]

Setcolorsaturationattribute parameters

[Syntax]

CVI_S32 CVI_ISP_SetCCMSaturationAttr(VI_PIPE ViPipe, const ISP_CCM_SATURATION_ATTR_S *pstCCMSaturationAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstCCMSaturationAttr

colorsaturationattribute parameters

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_CCM_SATURATION_ATTR_S stAttr;
CVI_ISP_GetCCMSaturationAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetCCMSaturationAttr(ViPipe, &stAttr);

[Related Topics]

12.2.4. CVI_ISP_GetCCMSaturationAttr

[Description]

Getcolorsaturationattribute parameters

[Syntax]

CVI_S32 CVI_ISP_GetCCMSaturationAttr(VI_PIPE ViPipe, ISP_CCM_SATURATION_ATTR_S *pstCCMSaturationAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstCCMSaturationAttr

colorsaturationattribute parameters

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]

12.2.5. CVI_ISP_SetSaturationAttr

[Description]

Setcolorsaturationattribute parameters

[Syntax]

CVI_S32 CVI_ISP_SetSaturationAttr(VI_PIPE ViPipe, const ISP_SATURATION_ATTR_S *pstSaturationAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstSaturationAttr

colorsaturationattribute parameters

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_SATURATION_ATTR_S stAttr;
CVI_ISP_GetSaturationAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetSaturationAttr(ViPipe, &stAttr);

[Related Topics]

12.2.6. CVI_ISP_GetSaturationAttr

[Description]

Getcolorsaturationattribute parameters

[Syntax]

CVI_S32 CVI_ISP_GetSaturationAttr(VI_PIPE ViPipe, ISP_SATURATION_ATTR_S *pstSaturationAttr);

[Parameters]

Parameter Name

Description

Input/Output

ViPipe

VI_PIPE No.

Input

pstSaturationAttr

colorsaturationattribute parameters

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]

12.3. Data Types

12.3.1. ISP_CCM_ATTR_S

[Description]

Define colorcorrectionmatrixattribute parameters

[Definition]

typedef struct _ISP_CCM_ATTR_S {
        CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
        ISP_OP_TYPE_E enOpType;
        CVI_U8 UpdateInterval; /*Rw; Range:[0, 255]*/
        CVI_U8 CCMOverStr; /*Rw; Range:[0, 255]*/
        CVI_U8 CCMOverThr; /*Rw; Range:[0, 255]*/
        ISP_CCM_MANUAL_ATTR_S stManual;
        ISP_CCM_AUTO_ATTR_S stAuto;
} ISP_CCM_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

CCMOverStr

throughsaturationandprotectionstrength.

Value Range: [0, 255]

Data Types: CVI_U8

CCMOverThr

throughsaturationandprotection. throughsaturationanddeterminethreshold, the larger the value, the moreeasyentertothroughsaturationandprotectionstatus.

Value Range: [0, 255]

Data Types: CVI_U8

stManual

manual parameters

Data Types: ISP_CCM_MANUAL_ATTR_S

stAuto

automatic parameters

Data Types: ISP_CCM_AUTO_ATTR_S

[Precautions]

None

[Related Data Types and Interfaces]

12.3.2. ISP_CCM_MANUAL_ATTR_S

[Description]

Define colorcorrectionmatrixattributemanual parameters

[Definition]

typedef struct _ISP_CCM_MANUAL_ATTR_S {
        CVI_BOOL SatEnable; /*Rw; Range:[0, 1]*/
        CVI_S16 CCM[9]; /*Rw; Range:[-8192, 8191]*/
} ISP_CCM_MANUAL_ATTR_S;

[Members]

Member Name

Description

SatEnable

manual modeunder, saturationwhethertakes effect.

Value Range: [0, 1]

Data Types: CVI_BOOL

CCM

3x3actual color correction matrix contents

Value Range: [-8192, 8191]

Data Types: CVI_S16

[Precautions]

None

[Related Data Types and Interfaces]

12.3.3. ISP_CCM_AUTO_ATTR_S

[Description]

Define colorcorrectionmatrixattributeautomatic parameters

[Definition]

typedef struct _ISP_CCM_AUTO_ATTR_S {
        CVI_BOOL ISOActEnable; /*Rw; Range:[0, 1]*/
        CVI_BOOL TempActEnable; /*Rw; Range:[0, 1]*/
        CVI_U8 CCMTabNum; /*Rw; Range:[3, 7]*/
        ISP_COLORMATRIX_ATTR_S CCMTab[7];
} ISP_CCM_AUTO_ATTR_S;

[Members]

Member Name

Description

ISOActEnable

lowilluminanceunderCCM Bypassfunction enable.

0: Disable.

1: Enable.

Value Range: [0, 1]

Data Types: CVI_BOOL

TempActEnable

heightlowunder the color temperatureCCM Bypassfunction enable.

0: Disable.

1: Enable.

Value Range: [0, 1]

Data Types: CVI_BOOL

CCMTabNum

currentconfiguration CCMmatrixnumber.

Value Range: [3, 7]

Data Types: CVI_U8

CCMTab

differentunder the color temperature colorcorrectionmatrix

Data Types: ISP_COLORMATRIX_ATTR_S

[Precautions]

None

[Related Data Types and Interfaces]

12.3.4. ISP_COLORMATRIX_ATTR_S

[Description]

Define colorcorrectionmatrix

[Definition]

typedef struct _ISP_COLORMATRIX_ATTR_S {
        CVI_U16 ColorTemp; /*Rw; Range:[500, 30000]*/
        CVI_S16 CCM[9]; /*Rw; Range:[-8192, 8191]*/
} ISP_COLORMATRIX_ATTR_S;

[Members]

Member Name

Description

ColorTemp

thiscolorcorrectionmatrixadaptuse color temperature

Value Range: [500, 30000]

Data Types: CVI_U16

CCM

3x3actual color correction matrix contents

Value Range: [-8192, 8191]

Data Types: CVI_S16

[Precautions]

None

[Related Data Types and Interfaces]

12.3.5. ISP_CCM_SATURATION_MANUAL_ATTR_S

[Description]

Manual Definitioncolorsaturationattribute parameters

[Definition]

typedef struct _ISP_CCM_SATURATION_MANUAL_ATTR_S {
        CVI_U8 SaturationLE; /*Rw; Range:[0, 255]*/
        CVI_U8 SaturationSE; /*Rw; Range:[0, 255]*/
} ISP_CCM_SATURATION_MANUAL_ATTR_S;

[Members]

Member Name

Description

SaturationLE

long exposuresaturation

Value Range: [0, 255]

Data Types: CVI_U8

SaturationSE

shortexposuresaturation

Value Range: [0, 255]

Data Types: CVI_U8

[Precautions]

None

[Related Data Types and Interfaces]

12.3.6. ISP_CCM_SATURATION_AUTO_ATTR_S

[Description]

Automatic Definitioncolorsaturationattribute parameters

[Definition]

typedef struct _ISP_CCM_SATURATION_AUTO_ATTR_S {
        CVI_U8 SaturationLE[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
        CVI_U8 SaturationSE[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
} ISP_CCM_SATURATION_AUTO_ATTR_S;

[Members]

Member Name

Description

SaturationLE

long exposuresaturation

Value Range: [0, 255]

Data Types: CVI_U8

SaturationSE

shortexposuresaturation

Value Range: [0, 255]

Data Types: CVI_U8

[Precautions]

None

[Related Data Types and Interfaces]

12.3.7. ISP_CCM_SATURATION_ATTR_S

[Description]

Define colorsaturationattribute parameters

[Definition]

typedef struct _ISP_CCM_SATURATION_ATTR_S {
        ISP_CCM_SATURATION_MANUAL_ATTR_S stManual;
        ISP_CCM_SATURATION_AUTO_ATTR_S stAuto;
} ISP_CCM_SATURATION_ATTR_S;

[Members]

Member Name

Description

stManual

manual parameters

stAuto

automatic parameters

[Precautions]

None

[Related Data Types and Interfaces]

12.3.8. ISP_SATURATION_MANUAL_ATTR_S

[Description]

Manual Definitioncolorsaturationattribute parameters

[Definition]

typedef struct _ISP_SATURATION_MANUAL_ATTR_S {
        CVI_U8 Saturation; /*Rw; Range:[0, 255]*/
} ISP_SATURATION_MANUAL_ATTR_S;

[Members]

Member Name

Description

Saturation

image overallsaturation

Value Range: [0, 255]

Data Types: CVI_U8

[Precautions]

None

[Related Data Types and Interfaces]

12.3.9. ISP_SATURATION_AUTO_ATTR_S

[Description]

Automatic Definitioncolorsaturationattribute parameters

[Definition]

typedef struct _ISP_SATURATION_AUTO_ATTR_S {
        CVI_U8 Saturation[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
} ISP_SATURATION_AUTO_ATTR_S;

[Members]

Member Name

Description

Saturation

image overallsaturation

Value Range: [0, 255]

Data Types: CVI_U8

[Precautions]

None

[Related Data Types and Interfaces]

12.3.10. ISP_SATURATION_ATTR_S

[Description]

Define colorsaturationattribute parameters

[Definition]

typedef struct _ISP_SATURATION_ATTR_S {
        ISP_OP_TYPE_E enOpType;
        ISP_SATURATION_MANUAL_ATTR_S stManual;
        ISP_SATURATION_AUTO_ATTR_S stAuto;
} ISP_SATURATION_ATTR_S;

[Members]

Member Name

Description

enOpType

operation type

OP_TYPE_AUTO: automatic mode

OP_TYPE_MANUAL: manual mode

Data Types: ISP_OP_TYPE_E

stManual

manual parameters

stAuto

automatic parameters

[Precautions]

None

[Related Data Types and Interfaces]