28. DRC¶
28.1. 功能描述¶
整幅图像的动态范围,使之能在显示设备上的显示效果与人眼视觉感受一致。
28.2. API 参考¶
CVI_ISP_SetDRCAttr : 设置DRC属性参数
CVI_ISP_GetDRCAttr : 获取DRC属性参数
28.2.1. CVI_ISP_SetDRCAttr¶
【描述】
设置DRC属性参数
【语法】
CVI_S32 CVI_ISP_SetDRCAttr(VI_PIPE ViPipe, const ISP_DRC_ATTR_S *pstDRCAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstDRCAttr |
DRC属性参数 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
VI_PIPE ViPipe = 0;
ISP_DRC_ATTR_S stAttr;
CVI_ISP_GetDRCAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetDRCAttr(ViPipe, &stAttr);
【相关主题】
28.2.2. CVI_ISP_GetDRCAttr¶
【描述】
获取DRC属性参数
【语法】
CVI_S32 CVI_ISP_GetDRCAttr(VI_PIPE ViPipe, ISP_DRC_ATTR_S *pstDRCAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstDRCAttr |
DRC属性参数 |
输出 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
28.3. 数据类型¶
ISP_DRC_MANUAL_ATTR_S : 定义手动DRC属性参数
ISP_DRC_AUTO_ATTR_S : 定义自动DRC属性参数
ISP_DRC_ATTR_S : 定义DRC属性参数
28.3.1. ISP_DRC_MANUAL_ATTR_S¶
【说明】
定义手动DRC属性参数
【定义】
typedef struct _ISP_DRC_MANUAL_ATTR_S {
CVI_U8 Strength; /*Rw; Range:[0, 255]*/
CVI_U8 StrengthMin; /*Rw; Range:[0, 255]*/
CVI_U8 StrengthMax; /*Rw; Range:[0, 255]*/
} ISP_DRC_MANUAL_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
Strength |
控制DRC的整体强度。值越大,强度越强。 取值范围: [0, 255] 数据类型: CVI_U8 |
StrengthMin |
autoMode=1时生效,控制自动算出来的drc强度*gain的范围。 取值范围: [0, 255] 数据类型: CVI_U8 |
StrengthMax |
autoMode=1时生效,控制自动算出来的drc强度*gain的范围。 取值范围: [0, 255] 数据类型: CVI_U8 |
【注意事项】
无
【相关数据类型及接口】
28.3.2. ISP_DRC_AUTO_ATTR_S¶
【说明】
定义自动DRC属性参数
【定义】
typedef struct _ISP_DRC_AUTO_ATTR_S {
CVI_U8 Strength[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 StrengthMin[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
CVI_U8 StrengthMax[ISP_AUTO_ISO_STRENGTH_NUM]; /*Rw; Range:[0, 255]*/
} ISP_DRC_AUTO_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
Strength |
控制DRC的整体强度。值越大,强度越强。 取值范围: [0, 255] 数据类型: CVI_U8 |
StrengthMin |
autoMode=1时生效,控制自动算出来的drc强度*gain的范围。 取值范围: [0, 255] 数据类型: CVI_U8 |
StrengthMax |
autoMode=1时生效,控制自动算出来的drc强度*gain的范围。 取值范围: [0, 255] 数据类型: CVI_U8 |
【注意事项】
无
【相关数据类型及接口】
28.3.3. ISP_DRC_ATTR_S¶
【说明】
定义DRC属性参数
【定义】
typedef struct _ISP_DRC_ATTR_S {
CVI_BOOL Enable; /*Rw; Range:[0, 1]*/
ISP_OP_TYPE_E enOpType;
CVI_U8 UpdateInterval; /*Rw; Range:[0, 255]*/
CVI_BOOL AutoMode; /*Rw; Range:[0, 1]*/
CVI_U16 SaturationLow; /*Rw; Range:[0, 4095]*/
CVI_U16 SaturationHigh; /*Rw; Range:[0, 4095]*/
CVI_U16 ContrastLow; /*Rw; Range:[0, 4095]*/
CVI_U16 ContrastHigh; /*Rw; Range:[0, 4095]*/
CVI_U8 BlockNumW; /*Rw; Range:[7, 47]*/
CVI_U8 GainUB; /*Rw; Range:[0, 255]*/
CVI_U8 GainLB; /*Rw; Range:[0, 255]*/
CVI_U8 GainProtStr; /*Rw; Range:[0, 255]*/
CVI_U8 FSBPstr; /*Rw; Range:[0, 255]*/
CVI_U8 DeFlareMode; /*Rw; Range:[0, 2]*/
CVI_U8 DeFlareRatio; /*Rw; Range:[0, 255]*/
CVI_U8 DeFlareSlope; /*Rw; Range:[0, 255]*/
CVI_U16 AdaptiveLowStr; /*Rw; Range:[0, 4095]*/
CVI_U16 AdaptiveHighStr; /*Rw; Range:[0, 4095]*/
CVI_U16 AdaptiveRatio; /*Rw; Range:[0, 1000]*/
CVI_U8 ColorProtStr; /*Rw; Range:[0, 255]*/
CVI_U16 ColorProtThr; /*Rw; Range:[0, 4095]*/
ISP_DRC_MANUAL_ATTR_S stManual;
ISP_DRC_AUTO_ATTR_S stAuto;
} ISP_DRC_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
Enable |
模块使能开关 取值范围: [0, 1] 数据类型: CVI_BOOL |
enOpType |
工作类型 OP_TYPE_AUTO:自动模式 OP_TYPE_MANUAL:手动模式 数据类型: ISP_OP_TYPE_E |
UpdateInterval |
影响参数更新间隔,值越大画面变化越慢,效能越好。 取值范围: [0, 255] 数据类型: CVI_U8 |
AutoMode |
控制auto drc 取值范围: [0, 1] 数据类型: CVI_BOOL |
SaturationLow |
控制Y和localMax的融合比例 取值范围: [0, 4095] 数据类型: CVI_U16 |
SaturationHigh |
控制Y和local Max的融合比例 取值范围: [0, 4095] 数据类型: CVI_U16 |
ContrastLow |
控制第一轮融合的输出和raw的融合比例 取值范围: [0, 4095] 数据类型: CVI_U16 |
ContrastHigh |
控制第一轮融合的输出和raw的融合比例 取值范围: [0, 4095] 数据类型: CVI_U16 |
BlockNumW |
控制局部亮度控制的范围 取值范围: [7, 47] 数据类型: CVI_U8 |
GainUB |
1为1倍,限制算出来的out_luma为in_luma的多少倍以内 取值范围: [0, 255] 数据类型: CVI_U8 |
GainLB |
256为1倍,限制算出来的out_luma为in_luma的多少倍以上 取值范围: [0, 255] 数据类型: CVI_U8 |
GainProtStr |
限制产生色彩偏移的DRC gain,值越大,限制强度越大,色彩保护越强 取值范围: [0, 255] 数据类型: CVI_U8 |
FSBPstr |
对高反差区域做特别处理 取值范围: [0, 255] 数据类型: CVI_U8 |
DeFlareMode |
光晕抑制的模式。0:关闭,1:手动抑制模式,2:自适应抑制模式 取值范围: [0, 2] 数据类型: CVI_U8 |
DeFlareRatio |
控制光晕抑制的强度,Ratio越小,抑制程度越大,光晕越弱,对比度越弱 取值范围: [0, 255] 数据类型: CVI_U8 |
DeFlareSlope |
控制光晕抑制的强度,Slope越小,抑制程度越大,光晕越弱,对比度越弱 取值范围: [0, 255] 数据类型: CVI_U8 |
AdaptiveLowStr |
根据亮度自适应控制DRC的强度的下限 取值范围: [0, 4095] 数据类型: CVI_U16 |
AdaptiveHighStr |
根据亮度自适应控制DRC的强度的上限 取值范围: [0, 4095] 数据类型: CVI_U16 |
AdaptiveRatio |
根据亮度自适应控制DRC的强度的过渡斜率 取值范围: [0, 1000] 数据类型: CVI_U16 |
ColorProtStr |
限制产生色彩偏移的DRC gain,值越大,限制强度越大,色彩保护越强 取值范围: [0, 255] 数据类型: CVI_U8 |
ColorProtThr |
控制色彩保护的范围,值越大,开启保护的亮度越偏向高亮区 取值范围: [0, 4095] 数据类型: CVI_U16 |
stManual |
手动参数 |
stAuto |
自动参数 |
【注意事项】
无
【相关数据类型及接口】