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¶
CVI_ISP_SetCCMAttr : Setcolorcorrectionmatrixattribute parameters
CVI_ISP_GetCCMAttr : Getcolorcorrectionmatrixattribute parameters
CVI_ISP_SetCCMSaturationAttr : Setcolorsaturationattribute parameters
CVI_ISP_GetCCMSaturationAttr : Getcolorsaturationattribute parameters
CVI_ISP_SetSaturationAttr : Setcolorsaturationattribute parameters
CVI_ISP_GetSaturationAttr : Getcolorsaturationattribute parameters
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¶
ISP_CCM_ATTR_S : Define colorcorrectionmatrixattribute parameters
ISP_CCM_MANUAL_ATTR_S : Define colorcorrectionmatrixattributemanual parameters
ISP_CCM_AUTO_ATTR_S : Define colorcorrectionmatrixattributeautomatic parameters
ISP_COLORMATRIX_ATTR_S : Define colorcorrectionmatrix
ISP_CCM_SATURATION_MANUAL_ATTR_S : Manual Definitioncolorsaturationattribute parameters
ISP_CCM_SATURATION_AUTO_ATTR_S : Automatic Definitioncolorsaturationattribute parameters
ISP_CCM_SATURATION_ATTR_S : Define colorsaturationattribute parameters
ISP_SATURATION_MANUAL_ATTR_S : Manual Definitioncolorsaturationattribute parameters
ISP_SATURATION_AUTO_ATTR_S : Automatic Definitioncolorsaturationattribute parameters
ISP_SATURATION_ATTR_S : Define colorsaturationattribute parameters
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]