21. RGBGAMMA

21.1. 功能描述

因人眼对低亮度较敏感, 故对图像的亮度做非线性转换, 压缩亮区、拉伸暗区使整体亮度感受更好。

21.2. API 参考

21.2.1. CVI_ISP_SetGammaAttr

【描述】

设置gamma 属性参数

【语法】

CVI_S32 CVI_ISP_SetGammaAttr(VI_PIPE ViPipe, const ISP_GAMMA_ATTR_S *pstGammaAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstGammaAttr

gamma 属性参数

输入

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

VI_PIPE ViPipe = 0;
ISP_GAMMA_ATTR_S stAttr;
CVI_ISP_GetGammaAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetGammaAttr(ViPipe, &stAttr);

【相关主题】

21.2.2. CVI_ISP_GetGammaAttr

【描述】

获取gamma 属性参数

【语法】

CVI_S32 CVI_ISP_GetGammaAttr(VI_PIPE ViPipe, ISP_GAMMA_ATTR_S *pstGammaAttr);

【参数】

参数名称

描述

输入/输出

ViPipe

VI_PIPE 号

输入

pstGammaAttr

gamma 属性参数

输出

【返回值】

返回值

描述

0

成功

非 0

失败,其值为 错误码

【需求】

  • 头文件: cvi_isp.h, cvi_comm_isp.h

  • 库文件: libisp.so

【注意】

【举例】

【相关主题】

21.3. 数据类型

21.3.1. ISP_GAMMA_ATTR_S

【说明】

定义gamma 属性参数

【定义】

typedef struct _ISP_GAMMA_ATTR_S {
        CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
        CVI_U8 UpdateInterval; /*Rw; Range:[0, 255]*/
        CVI_U16 Table[GAMMA_NODE_NUM]; /*Rw; Range:[0, 4095]*/
        ISP_GAMMA_CURVE_TYPE_E enCurveType;
} ISP_GAMMA_ATTR_S;

【成员】

成员名称

描述

Enable

模块使能开关

取值范围: [0, 1]

数据类型: CVI_BOOL

UpdateInterval

影响参数更新间隔,值越大画面变化越慢,效能越好。

取值范围: [0, 255]

数据类型: CVI_U8

Table

Gamma曲线节点数值

取值范围: [0, 4095]

数据类型: CVI_U16

enCurveType

Gamma曲线类型

数据类型: ISP_GAMMA_CURVE_TYPE_E

【注意事项】

【相关数据类型及接口】