22. DCI¶
22.1. 功能描述¶
Dynamic Contrast Improvement 的简称,藉由调整直方图来加强图像对比度,提升暗部细节。
22.2. API 参考¶
CVI_ISP_SetDCIAttr : 设置DCI 参数属性
CVI_ISP_GetDCIAttr : 获取DCI 参数属性
CVI_ISP_SetDciAutoGammaAttr : 设置Dci Gamma 参数属性
CVI_ISP_GetDciAutoGammaAttr : 获取Dci Gamma 参数属性
22.2.1. CVI_ISP_SetDCIAttr¶
【描述】
设置DCI 参数属性
【语法】
CVI_S32 CVI_ISP_SetDCIAttr(VI_PIPE ViPipe, const ISP_DCI_ATTR_S *pstDCIAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstDCIAttr |
DCI 参数属性 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
VI_PIPE ViPipe = 0;
ISP_DCI_ATTR_S stAttr;
CVI_ISP_GetDCIAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetDCIAttr(ViPipe, &stAttr);
【相关主题】
22.2.2. CVI_ISP_GetDCIAttr¶
【描述】
获取DCI 参数属性
【语法】
CVI_S32 CVI_ISP_GetDCIAttr(VI_PIPE ViPipe, ISP_DCI_ATTR_S *pstDCIAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstDCIAttr |
DCI 参数属性 |
输出 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
22.2.3. CVI_ISP_SetDciAutoGammaAttr¶
【描述】
设置Dci Gamma 参数属性
【语法】
CVI_S32 CVI_ISP_SetDciAutoGammaAttr(VI_PIPE ViPipe, const ISP_DCI_AUTO_GAMMA_ATTR_S *pstDciAutoGammaAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstDciAutoGammaAttr |
Dci Gamma 参数属性 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
VI_PIPE ViPipe = 0;
ISP_DCI_AUTO_GAMMA_ATTR_S stAttr;
CVI_ISP_GetDciAutoGammaAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetDciAutoGammaAttr(ViPipe, &stAttr);
【相关主题】
22.2.4. CVI_ISP_GetDciAutoGammaAttr¶
【描述】
获取Dci Gamma 参数属性
【语法】
CVI_S32 CVI_ISP_GetDciAutoGammaAttr(VI_PIPE ViPipe, ISP_DCI_AUTO_GAMMA_ATTR_S *pstDciAutoGammaAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstDciAutoGammaAttr |
Dci Gamma 参数属性 |
输出 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
22.3. 数据类型¶
ISP_DCI_ATTR_S : 定义DCI 参数属性
ISP_DCI_AUTO_GAMMA_ATTR_S : 定义Dci Gamma 参数属性
ISP_DCI_GAMMA_CURVE_ATTR_S : 定义Dci Gamma Curve参数属性
22.3.1. ISP_DCI_ATTR_S¶
【说明】
定义DCI 参数属性
【定义】
typedef struct _ISP_DCI_ATTR_S {
CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
ISP_DCI_CURVE_MODE_E CurveMode;
CVI_U8 UpdateInterval; /*Rw; Range:[1, 255]*/
CVI_U16 DciStrength; /*Rw; Range:[0, 8192]*/
CVI_U8 DciGamma[5]; /*Rw; Range:[0, 31]*/
CVI_U8 DciContrast[5]; /*Rw; Range:[0, 3]*/
CVI_U8 DciOffset[5]; /*Rw; Range:[0, 15]*/
CVI_U8 Sensitivity; /*Rw; Range:[0, 255]*/
CVI_U16 Speed; /*Rw; Range:[0, 500]*/
CVI_U8 DehazeLight; /*Rw; Range:[0, 5]*/
CVI_U8 DehazeStrength; /*Rw; Range:[0, 100]*/
CVI_U8 DehazeLut[6]; /*Rw; Range:[0, 100]*/
} ISP_DCI_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
Enable |
模块使能开关 取值范围: [0, 1] 数据类型: CVI_BOOL |
CurveMode |
DciGammaCurve生成模式 DCI_CURVE_AUTO: 自动模式 DCI_CURVE_AUTO_GAMMA: 通过gamma曲线生成DCI曲线 DCI_CURVE_DEHAZE: 去雾曲线 数据类型: ISP_DCI_CURVE_MODE_E |
UpdateInterval |
影响参数更新间隔,值越大画面变化越慢,效能越好。 取值范围: [1, 255] 数据类型: CVI_U8 |
DciStrength |
自动模式下生效,用来控制DCI的强度。值越大,对比度越大。 取值范围: [0, 8192] 数据类型: CVI_U16 |
DciGamma |
Auto gamma模式,辅助pqtool端手动生成DciGammaCurve。用来控制亮度抬升程度。值越大,亮度抬升程度越大。 取值范围: [0, 31] 数据类型: CVI_U8 |
DciContrast |
Auto gamma模式,辅助pqtool端手动生成DciGammaCurve。用来控制对比度强度,值越大,对比度越大。 取值范围: [0, 3] 数据类型: CVI_U8 |
DciOffset |
Auto gamma模式,辅助pqtool端手动生成DciGammaCurve。DciOffset以内保持线性。 取值范围: [0, 15] 数据类型: CVI_U8 |
Sensitivity |
灵敏度: 灵敏度越高,dci重运算的threadhold越低 取值范围: [0, 255] 数据类型: CVI_U8 |
Speed |
DCI曲线时间域上变化的平顺度。数值越大,时间域变化越平顺,反之,则变化越快。 取值范围: [0, 500] 数据类型: CVI_U16 |
DehazeLight |
亮度直方图百分比 取值范围: [0, 5] 数据类型: CVI_U8 |
DehazeStrength |
去雾强度 取值范围: [0, 100] 数据类型: CVI_U8 |
DehazeLut |
去雾表 取值范围: [0, 100] 数据类型: CVI_U8 |
【注意事项】
无
【相关数据类型及接口】
22.3.2. ISP_DCI_AUTO_GAMMA_ATTR_S¶
【说明】
定义Dci Gamma 参数属性
【定义】
typedef struct _ISP_DCI_AUTO_GAMMA_ATTR_S {
CVI_U8 GammaTabNum; /*Rw; Range:[1, 5]*/
ISP_DCI_GAMMA_CURVE_ATTR_S GammaTab[5];
} ISP_DCI_AUTO_GAMMA_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
GammaTabNum |
自适应 Gamma 曲线数量。 取值范围: [1, 5] 数据类型: CVI_U8 |
GammaTab |
自适应 Gamma 曲线信息。 数据类型: ISP_DCI_GAMMA_CURVE_ATTR_S |
【注意事项】
无
【相关数据类型及接口】
22.3.3. ISP_DCI_GAMMA_CURVE_ATTR_S¶
【说明】
定义Dci Gamma Curve参数属性
【定义】
typedef struct _ISP_DCI_GAMMA_CURVE_ATTR_S {
CVI_S16 Lv; /*Rw; Range:[-500, 1500]*/
CVI_U16 Tbl[256]; /*Rw; Range:[0, 255]*/
} ISP_DCI_GAMMA_CURVE_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
Lv |
Gamma 曲线对应 Lv 范围。 取值范围: [-500, 1500] 数据类型: CVI_S16 |
Tbl |
Gamma曲线节点数值。 取值范围: [0, 255] 数据类型: CVI_U16 |
【注意事项】
无
【相关数据类型及接口】