31. CA¶
31.1. 功能描述¶
调整UV domain饱和度, 此模组分为CA 模式与CP (热成像)模式, 同时间只能选一个开启。 CA模式: 根据input Y来调整饱和度, 因此可以局部调整饱和度。 CP模式: 因为热成像模式只有Y值, 会根据Y值查找预先调试的颜色模板, 查找对应的YUV值, 使其上色。
31.2. API 参考¶
CVI_ISP_SetCAAttr : 设置CA 参数属性
CVI_ISP_GetCAAttr : 获取CA 参数属性
31.2.1. CVI_ISP_SetCAAttr¶
【描述】
设置CA 参数属性
【语法】
CVI_S32 CVI_ISP_SetCAAttr(VI_PIPE ViPipe, const ISP_CA_ATTR_S *pstCAAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstCAAttr |
CA 参数属性 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
VI_PIPE ViPipe = 0;
ISP_CA_ATTR_S stAttr;
CVI_ISP_GetCAAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetCAAttr(ViPipe, &stAttr);
【相关主题】
31.2.2. CVI_ISP_GetCAAttr¶
【描述】
获取CA 参数属性
【语法】
CVI_S32 CVI_ISP_GetCAAttr(VI_PIPE ViPipe, ISP_CA_ATTR_S *pstCAAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstCAAttr |
CA 参数属性 |
输出 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
31.3. 数据类型¶
ISP_CA_MANUAL_ATTR_S : 定义手动CA 参数属性
ISP_CA_AUTO_ATTR_S : 定义自动CA 参数属性
ISP_CA_ATTR_S : 定义CA 参数属性
31.3.1. ISP_CA_MANUAL_ATTR_S¶
【说明】
定义手动CA 参数属性
【定义】
typedef struct _ISP_CA_MANUAL_ATTR_S {
CVI_U16 ISORatio; /*Rw; Range:[0, 2047]*/
CVI_U16 YRatioLut[256]; /*Rw; Range:[0, 2047]*/
} ISP_CA_MANUAL_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
ISORatio |
CA模式, 根据ISO值查找UV的增益。所有像素点的UV调整增益都是相同的, 建议在低ISO的时候此 增益可以设置大一些, 而高ISO时此增益 值可以设定小一些, 来抑制暗区的色噪。 取值范围: [0, 2047] 数据类型: CVI_U16 |
YRatioLut |
CA模式, 根据亮度Y查找UV的增益。此值根据不同亮度等级可设置不同的UV增益, 建议在亮区的增益可以设置大一些, 颜色会较为鲜艳, 而暗区的增益可以设置小一些, 来抑制暗区色噪。 取值范围: [0, 2047] 数据类型: CVI_U16 |
【注意事项】
无
【相关数据类型及接口】
31.3.2. ISP_CA_AUTO_ATTR_S¶
【说明】
定义自动CA 参数属性
【定义】
typedef struct _ISP_CA_AUTO_ATTR_S {
CVI_U16 ISORatio[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 2047]*/
CVI_U16 YRatioLut[256][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 2047]*/
} ISP_CA_AUTO_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
ISORatio |
CA模式, 根据ISO值查找UV的增益。所有像素点的UV调整增益都是相同的, 建议在低ISO的时候此 增益可以设置大一些, 而高ISO时此增益 值可以设定小一些, 来抑制暗区的色噪。 取值范围: [0, 2047] 数据类型: CVI_U16 |
YRatioLut |
CA模式, 根据亮度Y查找UV的增益。此值根据不同亮度等级可设置不同的UV增益, 建议在亮区的增益可以设置大一些, 颜色会较为鲜艳, 而暗区的增益可以设置小一些, 来抑制暗区色噪。 取值范围: [0, 2047] 数据类型: CVI_U16 |
【注意事项】
无
【相关数据类型及接口】
31.3.3. ISP_CA_ATTR_S¶
【说明】
定义CA 参数属性
【定义】
typedef struct _ISP_CA_ATTR_S {
CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
ISP_OP_TYPE_E enOpType;
CVI_U8 UpdateInterval; /*Rw; Range:[1, 255]*/
CVI_BOOL CaCpMode; /*Rw; Range:[0, 1]*/
CVI_U8 CPLutY[256]; /*Rw; Range:[0, 255]*/
CVI_U8 CPLutU[256]; /*Rw; Range:[0, 255]*/
CVI_U8 CPLutV[256]; /*Rw; Range:[0, 255]*/
ISP_CA_MANUAL_ATTR_S stManual;
ISP_CA_AUTO_ATTR_S stAuto;
} ISP_CA_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
Enable |
模块使能开关 取值范围: [0, 1] 数据类型: CVI_BOOL |
enOpType |
工作类型 OP_TYPE_AUTO:自动模式 OP_TYPE_MANUAL:手动模式 数据类型: ISP_OP_TYPE_E |
UpdateInterval |
影响参数更新间隔,值越大画面变化越慢,效能越好。 取值范围: [1, 255] 数据类型: CVI_U8 |
CaCpMode |
CA 模式选择: 0: CA 模式。 1: CP 模式。 取值范围: [0, 1] 数据类型: CVI_BOOL |
CPLutY |
CP模式, 根据亮度Y查找LUT对应的Y值。 取值范围: [0, 255] 数据类型: CVI_U8 |
CPLutU |
CP模式, 根据亮度Y查找LUT对应的U值。 取值范围: [0, 255] 数据类型: CVI_U8 |
CPLutV |
CP模式, 根据亮度Y查找LUT对应的V值。 取值范围: [0, 255] 数据类型: CVI_U8 |
stManual |
手动参数 |
stAuto |
自动参数 |
【注意事项】
无
【相关数据类型及接口】