23. LDCI¶
23.1. 功能描述¶
Local Dynamic Contrast Improvement 的简称,藉由调整直方图来加强图像对比度,提升暗部细节。
23.2. API 参考¶
CVI_ISP_SetLDCIAttr : 设置LDCI 参数属性
CVI_ISP_GetLDCIAttr : 获取LDCI 参数属性
23.2.1. CVI_ISP_SetLDCIAttr¶
【描述】
设置LDCI 参数属性
【语法】
CVI_S32 CVI_ISP_SetLDCIAttr(VI_PIPE ViPipe, const ISP_LDCI_ATTR_S *pstLDCIAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstLDCIAttr |
LDCI 参数属性 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
VI_PIPE ViPipe = 0;
ISP_LDCI_ATTR_S stAttr;
CVI_ISP_GetLDCIAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetLDCIAttr(ViPipe, &stAttr);
【相关主题】
23.2.2. CVI_ISP_GetLDCIAttr¶
【描述】
获取LDCI 参数属性
【语法】
CVI_S32 CVI_ISP_GetLDCIAttr(VI_PIPE ViPipe, ISP_LDCI_ATTR_S *pstLDCIAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstLDCIAttr |
LDCI 参数属性 |
输出 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
23.3. 数据类型¶
ISP_LDCI_MANUAL_ATTR_S : 定义手动LDCI 参数属性
ISP_LDCI_AUTO_ATTR_S : 定义自动LDCI 参数属性
ISP_LDCI_ATTR_S : 定义LDCI 参数属性
23.3.1. ISP_LDCI_MANUAL_ATTR_S¶
【说明】
定义手动LDCI 参数属性
【定义】
typedef struct _ISP_LDCI_MANUAL_ATTR_S {
CVI_U8 LdciStrength[9]; /*Rw; Range:[0, 255]*/
CVI_U8 AdaptiveGainMax; /*Rw; Range:[0, 255]*/
CVI_U8 AdaptiveGainMin; /*Rw; Range:[0, 255]*/
CVI_U8 FBCStrength; /*Rw; Range:[0, 31]*/
CVI_U8 LdciThres1; /*Rw; Range:[0, 255]*/
} ISP_LDCI_MANUAL_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
LdciStrength |
根据不同的亮度,做不同强度的对比度拉升。 取值范围: [0, 255] 数据类型: CVI_U8 |
AdaptiveGainMax |
根据当前点亮度与局部平均亮度的差异,做不同强度的对比度拉升。值越大,亮度差异大的点,对比度拉升程度越大。 取值范围: [0, 255] 数据类型: CVI_U8 |
AdaptiveGainMin |
根据当前点亮度与局部平均亮度的差异,做不同强度的对比度拉升。值越大,亮度差异小的点,对比度拉升程度越大。 取值范围: [0, 255] 数据类型: CVI_U8 |
FBCStrength |
逆光人脸保护功能。0表示功能不开启;非0表示功能开启,并且值越小,人脸亮度保护程度越大。 取值范围: [0, 31] 数据类型: CVI_U8 |
LdciThres1 |
对像素点亮度与block平均亮度的差异值做收缩。 取值范围: [0, 255] 数据类型: CVI_U8 |
【注意事项】
无
【相关数据类型及接口】
23.3.2. ISP_LDCI_AUTO_ATTR_S¶
【说明】
定义自动LDCI 参数属性
【定义】
typedef struct _ISP_LDCI_AUTO_ATTR_S {
CVI_U8 LdciStrength[9][ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 AdaptiveGainMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 AdaptiveGainMin[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 FBCStrength[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 31]*/
CVI_U8 LdciThres1[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
} ISP_LDCI_AUTO_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
LdciStrength |
根据不同的亮度,做不同强度的对比度拉升。 取值范围: [0, 255] 数据类型: CVI_U8 |
AdaptiveGainMax |
根据当前点亮度与局部平均亮度的差异,做不同强度的对比度拉升。值越大,亮度差异大的点,对比度拉升程度越大。 取值范围: [0, 255] 数据类型: CVI_U8 |
AdaptiveGainMin |
根据当前点亮度与局部平均亮度的差异,做不同强度的对比度拉升。值越大,亮度差异小的点,对比度拉升程度越大。 取值范围: [0, 255] 数据类型: CVI_U8 |
FBCStrength |
逆光人脸保护功能。0表示功能不开启;非0表示功能开启,并且值越小,人脸亮度保护程度越大。 取值范围: [0, 31] 数据类型: CVI_U8 |
LdciThres1 |
对像素点亮度与block平均亮度的差异值做收缩。 取值范围: [0, 255] 数据类型: CVI_U8 |
【注意事项】
无
【相关数据类型及接口】
23.3.3. ISP_LDCI_ATTR_S¶
【说明】
定义LDCI 参数属性
【定义】
typedef struct _ISP_LDCI_ATTR_S {
CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
ISP_OP_TYPE_E enOpType;
CVI_U8 UpdateInterval; /*Rw; Range:[0, 255]*/
CVI_U8 BlockNum; /*Rw; Range:[4, 62]*/
ISP_LDCI_MANUAL_ATTR_S stManual;
ISP_LDCI_AUTO_ATTR_S stAuto;
} ISP_LDCI_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
Enable |
模块使能开关 取值范围: [0, 1] 数据类型: CVI_BOOL |
enOpType |
工作类型 OP_TYPE_AUTO:自动模式 OP_TYPE_MANUAL:手动模式 数据类型: ISP_OP_TYPE_E |
UpdateInterval |
影响参数更新间隔,值越大画面变化越慢,效能越好。 取值范围: [0, 255] 数据类型: CVI_U8 |
BlockNum |
统计luma均值的分块数量。 取值范围: [4, 62] 数据类型: CVI_U8 |
stManual |
手动参数 |
stAuto |
自动参数 |
【注意事项】
无
【相关数据类型及接口】