27. FSHDR¶
27.1. 功能描述¶
宽动态范围合成相关参数。
27.2. API 参考¶
CVI_ISP_SetFSHDRAttr : 设置帧合成属性参数
CVI_ISP_GetFSHDRAttr : 获取帧合成属性参数
27.2.1. CVI_ISP_SetFSHDRAttr¶
【描述】
设置帧合成属性参数
【语法】
CVI_S32 CVI_ISP_SetFSHDRAttr(VI_PIPE ViPipe, const ISP_FSHDR_ATTR_S *pstFSHDRAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstFSHDRAttr |
帧合成属性参数 |
输入 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
VI_PIPE ViPipe = 0;
ISP_FSHDR_ATTR_S stAttr;
CVI_ISP_GetFSHDRAttr(ViPipe, &stAttr);
stAttr.enOpType = OP_TYPE_AUTO;
CVI_ISP_SetFSHDRAttr(ViPipe, &stAttr);
【相关主题】
27.2.2. CVI_ISP_GetFSHDRAttr¶
【描述】
获取帧合成属性参数
【语法】
CVI_S32 CVI_ISP_GetFSHDRAttr(VI_PIPE ViPipe, ISP_FSHDR_ATTR_S *pstFSHDRAttr);
【参数】
参数名称 |
描述 |
输入/输出 |
|---|---|---|
ViPipe |
VI_PIPE 号 |
输入 |
pstFSHDRAttr |
帧合成属性参数 |
输出 |
【返回值】
返回值 |
描述 |
|---|---|
0 |
成功 |
非 0 |
失败,其值为 错误码。 |
【需求】
头文件: cvi_isp.h, cvi_comm_isp.h
库文件: libisp.so
【注意】
无
【举例】
无
【相关主题】
27.3. 数据类型¶
ISP_FSHDR_ATTR_S : 定义帧合成属性参数
27.3.1. ISP_FSHDR_ATTR_S¶
【说明】
定义帧合成属性参数
【定义】
typedef struct _ISP_FSHDR_ATTR_S {
ISP_OP_TYPE_E enOpType;
CVI_U8 UpdateInterval; /*Rw; Range:[0, 255]*/
CVI_BOOL FusionEnable; /*Rw; Range:[0, 1]*/
CVI_U8 FusionMode; /*Rw; Range:[0, 2]*/
CVI_U8 FusionDbgMode; /*Rw; Range:[0, 4]*/
CVI_U8 FusionYsel; /*Rw; Range:[0, 2]*/
CVI_U8 FusionBldNsel; /*Rw; Range:[0, 1]*/
CVI_U8 FusionBldDsel; /*Rw; Range:[0, 1]*/
CVI_U16 FusionDS1Th; /*Rw; Range:[0, 4095]*/
CVI_U8 FusionDS1Step; /*Rw; Range:[0, 255]*/
CVI_U8 FusionDS1Lb; /*Rw; Range:[0, 255]*/
CVI_U16 FusionDS2Th; /*Rw; Range:[0, 4095]*/
CVI_U8 FusionDS2Step; /*Rw; Range:[0, 255]*/
CVI_U8 FusionDS2Lb; /*Rw; Range:[0, 255]*/
CVI_U16 LENormBldRange; /*Rw; Range:[0, 4095]*/
CVI_U16 LENormBldP0; /*Rw; Range:[0, 4095]*/
CVI_U16 SENormBldRange; /*Rw; Range:[0, 4095]*/
CVI_U16 SENormBldP0; /*Rw; Range:[0, 4095]*/
CVI_U16 LEDynmBldRange; /*Rw; Range:[0, 4095]*/
CVI_U16 LEDynmBldP0; /*Rw; Range:[0, 4095]*/
CVI_U16 SEDynmBldRange; /*Rw; Range:[0, 4095]*/
CVI_U16 SEDynmBldP0; /*Rw; Range:[0, 4095]*/
CVI_U16 NDBldLumTh; /*Rw; Range:[0, 256]*/
CVI_U8 NDBldDarkWt; /*Rw; Range:[0, 16]*/
CVI_U8 NDBldDiffLut[FS_DIFF_DW_LENGTH]; /*Rw; Range:[0, 16]*/
CVI_BOOL MCurveEnable; /*Rw; Range:[0, 1]*/
ISP_MCURVE_MODE_E MCurveMode;
CVI_U16 MCurveAutoSEMin; /*Rw; Range:[0, 4095]*/
CVI_U16 MCurveManualSEMax; /*Rw; Range:[0, 4095]*/
CVI_U8 MCurveSmooth; /*Rw; Range:[0, 255]*/
CVI_U16 MCurveDelta; /*Rw; Range:[0, 8560]*/
CVI_U16 MCurveX1; /*Rw; Range:[0, 65535]*/
CVI_U8 MCurveBldRatio; /*Rw; Range:[0, 10]*/
CVI_U16 MCurveXMaxRatio; /*Rw; Range:[0, 256]*/
CVI_U8 MCurveYsel; /*Rw; Range:[0, 2]*/
CVI_U8 MCurveYvWet; /*Rw; Range:[0, 8]*/
CVI_U8 MCurveFlumWet[FS_FLUMW_LUT_LENGTH]; /*Rw; Range:[0, 255]*/
} ISP_FSHDR_ATTR_S;
【成员】
成员名称 |
描述 |
|---|---|
enOpType |
工作类型 OP_TYPE_AUTO:自动模式 OP_TYPE_MANUAL:手动模式 数据类型: ISP_OP_TYPE_E |
UpdateInterval |
影响参数更新间隔,值越大画面变化越慢,效能越好。 取值范围: [0, 255] 数据类型: CVI_U8 |
FusionEnable |
HDR Fusion使能。HDR mode设置1;linear mode设置0。 取值范围: [0, 1] 数据类型: CVI_BOOL |
FusionMode |
选择输出结果。 0:输出HDR Fusion的结果; 1:输出SE结果; 2:输出LE结果; 取值范围: [0, 2] 数据类型: CVI_U8 |
FusionDbgMode |
设置调试模式 取值范围: [0, 4] 数据类型: CVI_U8 |
FusionYsel |
用Bayer计算Luma的方式,0: RGB的平均值, 1: G的平均值, 2: 原始Bayer值 取值范围: [0, 2] 数据类型: CVI_U8 |
FusionBldNsel |
计算静态融合权重的标准, 0: 以LE的亮度为标准计算静态融合权重,1: 以SE的亮度为标准计算静态融合权重 取值范围: [0, 1] 数据类型: CVI_U8 |
FusionBldDsel |
计算动态融合权重的标准,0: 以LE的亮度为标准计算动态融合权重,1: 以SE的亮度为标准计算动态融合权重 取值范围: [0, 1] 数据类型: CVI_U8 |
FusionDS1Th |
控制SE的Y和raw开始融合的范围,值越小,开始融合的亮度越低,越少的暗区被降低饱和度 取值范围: [0, 4095] 数据类型: CVI_U16 |
FusionDS1Step |
控制SE的Y和raw融合的过渡区间,值越小,过渡越平缓 取值范围: [0, 255] 数据类型: CVI_U8 |
FusionDS1Lb |
控制SE的Y和raw的融合权重,值越小,暗区使用更多Y,暗区饱和度越低 取值范围: [0, 255] 数据类型: CVI_U8 |
FusionDS2Th |
控制LE的Y和raw开始融合的范围,值越小,开始融合的亮度越低,越少的暗区被降低饱和度 取值范围: [0, 4095] 数据类型: CVI_U16 |
FusionDS2Step |
控制LE的Y和raw融合的过渡区间,值越小,过渡越平缓 取值范围: [0, 255] 数据类型: CVI_U8 |
FusionDS2Lb |
控制LE的Y和raw的融合权重,值越小,暗区使用更多Y,暗区饱和度越低 取值范围: [0, 255] 数据类型: CVI_U8 |
LENormBldRange |
LE Normal blending curve range,静止区长短曝融合时,以长曝为基准的过渡区域范围。高于LENormBldP0+ LENormBldRange的图像数据将只选择短曝光数据合成HDR图像。 取值范围: [0, 4095] 数据类型: CVI_U16 |
LENormBldP0 |
LE Normal blending curve P0,静止区长短曝融合时,以长曝为基准的临界值,低于该临界值的图像数据将只选择长曝光数据合成HDR图像。 取值范围: [0, 4095] 数据类型: CVI_U16 |
SENormBldRange |
SE Normal blending curve range,静止区长短曝融合时,以短曝为基准的过渡区域范围。高于SENormBldP0+SENormBldRange的图像数据将只选择短曝光数据合成HDR图像。 取值范围: [0, 4095] 数据类型: CVI_U16 |
SENormBldP0 |
SE Normal blending curve P0,静止区长短曝融合时,以短曝为基准的临界值,低于该临界值的图像数据将只选择长曝光数据合成HDR图像。 取值范围: [0, 4095] 数据类型: CVI_U16 |
LEDynmBldRange |
LE Dynamic blending curve range,运动区长短曝融合时,以长曝为基准的过渡区域范围。高于LENormBldP0+ LENormBldRange的图像数据将只选择短曝光数据合成HDR图像。 取值范围: [0, 4095] 数据类型: CVI_U16 |
LEDynmBldP0 |
LE Dynamic blending curve P0,运动区长短曝融合时,以长曝为基准的临界值,低于该临界值的图像数据将只选择长曝光数据合成HDR图像。 取值范围: [0, 4095] 数据类型: CVI_U16 |
SEDynmBldRange |
SE Dynamic blending curve range,运动区长短曝融合时,以短曝为基准的过渡区域范围。高于SENormBldP0+ SENormBldRange的图像数据将只选择短曝光数据合成HDR图像。 取值范围: [0, 4095] 数据类型: CVI_U16 |
SEDynmBldP0 |
SE Dynamic blending curve P0,运动区长短曝融合时,以短曝为基准的临界值,低于该临界值的图像数据将只选择长曝光数据合成HDR图像。 取值范围: [0, 4095] 数据类型: CVI_U16 |
NDBldLumTh |
动静区权重融合的亮度阈值,值越小,对越暗区的运动越敏感 取值范围: [0, 256] 数据类型: CVI_U16 |
NDBldDarkWt |
动静区权重融合的最小值,值越大,最暗区使用的动态权重越大 取值范围: [0, 16] 数据类型: CVI_U8 |
NDBldDiffLut |
动静区权重融合的查找表,值越大,对运动区越敏感,动态权重越大 取值范围: [0, 16] 数据类型: CVI_U8 |
MCurveEnable |
Map Curve的开关。HDR mode设置1;linear mode设置0。 取值范围: [0, 1] 数据类型: CVI_BOOL |
MCurveMode |
Auto Map Curve的控制开关。0: Auto模式,自动生成Curve,1:Manual模式,设置MCurveManualSEMax调整Curve最大值。 数据类型: ISP_MCURVE_MODE_E |
MCurveAutoSEMin |
限制自动模式下参与计算的短帧最大值的下限,可以改善短帧过暗时对画面亮度抬升过大的问题 取值范围: [0, 4095] 数据类型: CVI_U16 |
MCurveManualSEMax |
手动设置Curve横坐标最大值,在Manual模式下使用。值越小,全局提亮程度越大。 取值范围: [0, 4095] 数据类型: CVI_U16 |
MCurveSmooth |
调整 mcurve 变化的快慢,值越大越慢 取值范围: [0, 255] 数据类型: CVI_U8 |
MCurveDelta |
决定Map Curve暗部的斜率。值越小,暗部提亮越明显。 取值范围: [0, 8560] 数据类型: CVI_U16 |
MCurveX1 |
对于亮度大于X1的亮区做对比度保护。值越小,对比度保护区域越大。 取值范围: [0, 65535] 数据类型: CVI_U16 |
MCurveBldRatio |
亮区对比度保护程度。值越小,保护程度越大。0: linear, 10: curve 取值范围: [0, 10] 数据类型: CVI_U8 |
MCurveXMaxRatio |
调整暗区提亮程度。在Auto模式下使用。128表示Map Curve完全自动生成。小于128时,值越小,暗区提亮程度越大。大于128时,值越大,画面整体压暗程度越大。 取值范围: [0, 256] 数据类型: CVI_U16 |
MCurveYsel |
用Bayer计算Luma的方式,0: RGB的平均值( 4G+2B+2R), 1: G的平均值(4G), 2: 原始Bayer值 取值范围: [0, 2] 数据类型: CVI_U8 |
MCurveYvWet |
Y和LocalMax融合的权重,值越大越偏向LocalMax, 0:全取y,8:全取v 取值范围: [0, 8] 数据类型: CVI_U8 |
MCurveFlumWet |
Y和Raw融合的权重表,值越大越偏向Raw, 0: 全用ymean 取值范围: [0, 255] 数据类型: CVI_U8 |
【注意事项】
无
【相关数据类型及接口】