【说明】
定义 CSC 属性。
typedef struct hiVI_CSC_ATTR_S
{
VI_CSC_TYPE_E enViCscType;
HI_U32 u32LumaVal; /* luminance: [0 ~ 100] */
HI_U32 u32ContrVal /* contrast : [0 ~ 100] */;
HI_U32 u32HueVal; /* hue : [0 ~ 100] */
HI_U32 u32SatuVal; /* satuature: [0 ~ 100] */
} VI_CSC_ATTR_S;
enViCscType YUV 色彩空间标准
u32LumaVal 亮度调节参数 默认值:50 取值范围:[0, 100]
u32ContrVal 对比度调节参数 默认值:50 取值范围:[0, 100]
u32HueVal 色调调节参数 默认值:50 取值范围:[0, 100]
u32SatuVal 饱和度调节参数 默认值:50 取值范围:[0, 100]
【使用】
属性设置接口:HI_MPI_VI_SetCSCAttr
HI_S32 HI_MPI_VI_SetCSCAttr(VI_DEV ViDev, const VI_CSC_ATTR_S *pstCSCAttr);
属性获取接口:HI_MPI_VI_GetCSCAttr
HI_S32 HI_MPI_VI_GetCSCAttr(VI_DEV ViDev, VI_CSC_ATTR_S *pstCSCAttr);
? 头文件:hi_comm_vi.h、mpi_vi.h
? 库文件:libmpi.a
【HI_MPI_VI_SetCSCAttr】
? 该接口要在设备属性设置后再调用;
? 该接口主要用于图像的亮度、色调、对比度、饱和度的调节。
? 如果是高清摄像头输入,建议 enViCscType 配置为 VI_CSC_TYPE_709。如果是标
清摄像头输入,建议 enViCscType 配置为 VI_CSC_TYPE_601。
? 亮度、色调、对比度、饱和度的调节参数取值范围为[0~100],默认值为 50。
【举例】
HI_S32 s32Ret;
VI_CSC_ATTR_S stCscAttr;
/* first enable vi device and vi chn */
/* Init CSC attr */
stCscAttr.enViCscType = VI_CSC_TYPE_709;
stCscAttr.u32ContrVal = 50;
stCscAttr.u32HueVal = 50;
stCscAttr.u32LumaVal = 50;
stCscAttr.u32SatuVal = 50;
/* Set attribute for vi CSC attr */
s32Ret = HI_MPI_VI_SetCSCAttr(ViDev, &stCscAttr);
if (HI_SUCCESS != s32ret)
{
printf("Set vi CSC attr err:0x%x\n", s32ret);
return s32Ret;
}
/* Get attribute for vi CSC attr */
s32Ret = HI_MPI_VI_GetCSCAttr(ViDev, &stCscAttr);
if (HI_SUCCESS != s32ret)
{
printf("Get vi CSC attr err:0x%x\n", s32ret);
return s32Ret;
}