33. CLUT¶
33.1. 功能描述¶
通过一个17x17x17 的3D LUT, 在RGB domain上做线性转换。将RGB像素值查表内插得到新的RGB像素值, 可以借此调试颜色、亮度。
33.2. API 参考¶
CVI_ISP_SetClutAttr : 设置CLUT属性参数
CVI_ISP_GetClutAttr : 获取CLUT属性参数
CVI_ISP_SetClutHslAttr : 设置CLUT hsl属性参数
CVI_ISP_GetClutHslAttr : 获取CLUT hsl属性参数
33.2.1. CVI_ISP_SetClutAttr¶
【描述】
设置CLUT属性参数
【语法】
CVI_S32 CVI_ISP_SetClutAttr(VI_PIPE ViPipe, const ISP_CLUT_ATTR_S *pstClutAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstClutAttr |
CLUT属性参数 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
VI_PIPE ViPipe = 0;
ISP_CLUT_ATTR_S stAttr;
CVI_ISP_GetClutAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetClutAttr(ViPipe, &stAttr);
【相关主题】
33.2.2. CVI_ISP_GetClutAttr¶
【描述】
获取CLUT属性参数
【语法】
CVI_S32 CVI_ISP_GetClutAttr(VI_PIPE ViPipe, ISP_CLUT_ATTR_S *pstClutAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstClutAttr |
CLUT属性参数 |
输出 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
33.2.3. CVI_ISP_SetClutHslAttr¶
【描述】
设置CLUT hsl属性参数
【语法】
CVI_S32 CVI_ISP_SetClutHslAttr(VI_PIPE ViPipe, const ISP_CLUT_HSL_ATTR_S *pstClutHslAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstClutHslAttr |
CLUT hsl属性参数 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
VI_PIPE ViPipe = 0;
ISP_CLUT_HSL_ATTR_S stAttr;
CVI_ISP_GetClutHslAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetClutHslAttr(ViPipe, &stAttr);
【相关主题】
33.2.4. CVI_ISP_GetClutHslAttr¶
【描述】
获取CLUT hsl属性参数
【语法】
CVI_S32 CVI_ISP_GetClutHslAttr(VI_PIPE ViPipe, ISP_CLUT_HSL_ATTR_S *pstClutHslAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstClutHslAttr |
CLUT hsl属性参数 |
输出 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
33.3. 数据类型¶
ISP_CLUT_ATTR_S : 定义CLUT属性参数
ISP_CLUT_HSL_ATTR_S : 定义CLUT hsl属性参数
33.3.1. ISP_CLUT_ATTR_S¶
【说明】
定义CLUT属性参数
【定义】
typedef struct _ISP_CLUT_ATTR_S {
CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
CVI_U8 UpdateInterval; /*Rw; Range:[0, 255]*/
CVI_U16 ClutR[ISP_CLUT_LUT_LENGTH]; /*Rw; Range:[0, 1023]*/
CVI_U16 ClutG[ISP_CLUT_LUT_LENGTH]; /*Rw; Range:[0, 1023]*/
CVI_U16 ClutB[ISP_CLUT_LUT_LENGTH]; /*Rw; Range:[0, 1023]*/
} ISP_CLUT_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
Enable |
模块使能开关 取值范围: [0, 1] 数据类型: CVI_BOOL |
UpdateInterval |
保留,未使用参数。 取值范围: [0, 255] 数据类型: CVI_U8 |
ClutR |
R通道的LUT。 取值范围: [0, 1023] 数据类型: CVI_U16 |
ClutG |
G通道的LUT。 取值范围: [0, 1023] 数据类型: CVI_U16 |
ClutB |
B通道的LUT。 取值范围: [0, 1023] 数据类型: CVI_U16 |
【注意事项】
无
【相关数据类型及接口】
33.3.2. ISP_CLUT_HSL_ATTR_S¶
【说明】
定义CLUT hsl属性参数
【定义】
typedef struct _ISP_CLUT_HSL_ATTR_S {
CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
CVI_FLOAT Sigma; /*Rw; Range:[0, 64]*/
CVI_S16 HByH[ISP_CLUT_HUE_LENGTH]; /*Rw; Range:[-30, 30]*/
CVI_U16 SByH[ISP_CLUT_HUE_LENGTH]; /*Rw; Range:[0, 100]*/
CVI_U16 LByH[ISP_CLUT_HUE_LENGTH]; /*Rw; Range:[0, 100]*/
CVI_U16 SByS[ISP_CLUT_SAT_LENGTH]; /*Rw; Range:[0, 100]*/
} ISP_CLUT_HSL_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
Enable |
hsl模块使能。 取值范围: [0, 1] 数据类型: CVI_BOOL |
Sigma |
None 取值范围: [0, 64] 数据类型: CVI_FLOAT |
HByH |
长度37的数组,将hue 36等分,可设置每个hue范围旋转的角度。 取值范围: [-30, 30] 数据类型: CVI_S16 |
SByH |
长度37的数组,将hue 36等分,可设置每个hue范围饱和度增益,50为一倍。 取值范围: [0, 100] 数据类型: CVI_U16 |
LByH |
长度37的数组,将hue 36等分,可设置每个hue范围亮度增益,50为一倍。 取值范围: [0, 100] 数据类型: CVI_U16 |
SByS |
长度21的数组,将饱和度20等分,可设置每个饱和度范围饱和度的增益,50为一倍。 取值范围: [0, 100] 数据类型: CVI_U16 |
【注意事项】
无
【相关数据类型及接口】