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 |
DCI 参数属性 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
23.2.2. CVI_ISP_GetLDCIAttr¶
【描述】
获取LDCI 参数属性
【语法】
CVI_S32 CVI_ISP_GetLDCIAttr(VI_PIPE ViPipe, ISP_LDCI_ATTR_S *pstLDCIAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstLDCIAttr |
DCI 参数属性 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
23.3. 数据类型¶
ISP_LDCI_GAUSS_COEF_ATTR_S: LDCI 高斯结构参数属性
ISP_LDCI_MANUAL_ATTR_S: LDCI 参数手动属性
ISP_LDCI_AUTO_ATTR_S: LDCI 参数自动属性
ISP_LDCI_ATTR_S: LDCI 参数属性
23.3.1. ISP_LDCI_GAUSS_COEF_ATTR_S¶
【说明】
LDCI 高斯结构参数属性
【定义】
typedef struct _ISP_LDCI_GAUSS_COEF_ATTR_S {
CVI_U8 Wgt;
CVI_U8 Sigma;
CVI_U8 Mean;
} ISP_LDCI_GAUSS_COEF_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
Wgt |
根据亮度控制 LDCI 作用强度,决定LDCI 结果与原图融合的权重曲线 取值范围: [0x0, 0x80] 数据类型: CVI_U8 |
Sigma |
根据亮度控制 LDCI 作用强度,决定LDCI 结果与原图融合的权重曲线 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
Mean |
根据亮度控制 LDCI 作用强度,决定LDCI 结果与原图融合的权重曲线 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
【注意事项】
无
【相关数据类型及接口】
无
23.3.2. ISP_LDCI_MANUAL_ATTR_S¶
【说明】
LDCI 参数手动属性
【定义】
typedef struct _ISP_LDCI_MANUAL_ATTR_S {
CVI_U16 LdciStrength;
CVI_U16 LdciRange;
CVI_U16 TprCoef;
CVI_U8 EdgeCoring;
CVI_U8 LumaWgtMax;
CVI_U8 LumaWgtMin;
CVI_U8 VarMapMax;
CVI_U8 VarMapMin;
CVI_U8 UvGainMax;
CVI_U8 UvGainMin;
CVI_U8 BrightContrastHigh;
CVI_U8 BrightContrastLow;
CVI_U8 DarkContrastHigh;
CVI_U8 DarkContrastLow;
ISP_LDCI_GAUSS_COEF_ATTR_S LumaPosWgt;
} ISP_LDCI_MANUAL_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
LdciStrength |
控制 LDCI 增强效果参数。数值越大,局部对比度拉伸越强 取值范围: [0x0, 0x100] 数据类型: CVI_U16 |
LdciRange |
针对图像的高频区,控制对比度增强的程度。数值越大,图像的高频区对比度越强 取值范围: [0x0, 0x3ff] 数据类型: CVI_U16 |
TprCoef |
LD CI曲线时间域上变化的平顺度。数值越小,时间域变化越平顺,反之,则变化越快 取值范围: [0x0, 0x3ff] 数据类型: CVI_U16 |
EdgeCoring |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
LumaWgtMax |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
LumaWgtMin |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
VarMapMax |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
VarMapMin |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
UvGainMax |
取值范围: [0x0, 0x7f] 数据类型: CVI_U8 |
UvGainMin |
取值范围: [0x0, 0x7f] 数据类型: CVI_U8 |
BrightContrastHigh |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
BrightContrastLow |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
DarkContrastHigh |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
DarkContrastLow |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
LumaPosWgt |
根据亮度控制 LDCI 作用强度,决定LDCI 结果与原图融合的权重曲线 |
【注意事项】
无
【相关数据类型及接口】
23.3.3. ISP_LDCI_AUTO_ATTR_S¶
【说明】
LDCI 参数自动属性
【定义】
typedef struct _ISP_LDCI_AUTO_ATTR_S {
CVI_U16 LdciStrength[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U16 LdciRange[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U16 TprCoef[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 EdgeCoring[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 LumaWgtMax[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 LumaWgtMin[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 VarMapMax[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 VarMapMin[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 UvGainMax[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 UvGainMin[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 BrightContrastHigh[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 BrightContrastLow[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 DarkContrastHigh[ISP_AUTO_ISO_STRENGTH_NUM];
CVI_U8 DarkContrastLow[ISP_AUTO_ISO_STRENGTH_NUM];
ISP_LDCI_GAUSS_COEF_ATTR_S LumaPosWgt[ISP_AUTO_ISO_STRENGTH_NUM];
} ISP_LDCI_AUTO_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
LdciStrength |
控制 LDCI 增强效果参数。数值越大,局部对比度拉伸越强 取值范围: [0x0, 0x100] 数据类型: CVI_U16 |
LdciRange |
针对图像的高频区,控制对比度增强的程度。数值越大,图像的高频区对比度越强 取值范围: [0x0, 0x3ff] 数据类型: CVI_U16 |
TprCoef |
LD CI曲线时间域上变化的平顺度。数值越小,时间域变化越平顺,反之,则变化越快 取值范围: [0x0, 0x3ff] 数据类型: CVI_U16 |
EdgeCoring |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
LumaWgtMax |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
LumaWgtMin |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
VarMapMax |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
VarMapMin |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
UvGainMax |
取值范围: [0x0, 0x7f] 数据类型: CVI_U8 |
UvGainMin |
取值范围: [0x0, 0x7f] 数据类型: CVI_U8 |
BrightContrastHigh |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
BrightContrastLow |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
DarkContrastHigh |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
DarkContrastLow |
取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
LumaPosWgt |
根据亮度控制 LDCI 作用强度,决定 LDCI 结果与原图融合的权重曲线 |
【注意事项】
无
【相关数据类型及接口】
23.3.4. ISP_LDCI_ATTR_S¶
【说明】
DCI 参数属性
【定义】
typedef struct _ISP_LDCI_ATTR_S {
CVI_BOOL Enable;
ISP_OP_TYPE_E enOpType;
CVI_U8 UpdateInterval;
CVI_U8 GaussLPFSigma;
ISP_LDCI_MANUAL_ATTR_S stManual;
ISP_LDCI_AUTO_ATTR_S stAuto;
} ISP_LDCI_ATTR_S;
【成员】
成员名称 |
描述 |
---|---|
Enable |
LDCI模块使能 |
enOpType |
工作类型 OP_TYPE_AUTO: 自动模式 OP_TYPE_MANUAL: 手动模式 |
UpdateInterval |
影响参数更新间隔,值越大画面变化越慢,效能越好 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
GaussLPFSigma |
局部滤波程度,数值越小,局部对比度增强效果越局域化,反之,则越全局化 取值范围: [0x0, 0xff] 数据类型: CVI_U8 |
stManual |
手动模式参数属性 |
stAuto |
自动模式参数属性 |
【注意事项】
无
【相关数据类型及接口】