下载
中文
注册

hi_mpi_isp_calc_flicker_type

函数功能

输入帧信息,获取工频闪类型检测的结果。

函数原型

hi_s32 hi_mpi_isp_calc_flicker_type(hi_vi_pipe vi_pipe, hi_isp_calc_flicker_input *input_param, hi_isp_calc_flicker_output *output_param, hi_video_frame_info frame[], hi_u32 array_size)

约束说明

  • 必须使用连续的3帧数据进行计算,输入的array_size帧数需要等于3。同时frame[]指向的数据必须保证有效。
  • 计算的帧数据的分辨率不能超过ISP模块最大能够处理的图像分辨率。
  • 为了加快计算速度,接口内部使用VGS硬件模块参与计算,所以用于计算工频闪的图像分辨率不能超过VGS的最大处理分辨率范围。
  • 在不同频闪混合的光源下,比如光源环境同时存在50Hz和60Hz的光源,或者工频闪光源只占整个环境光源非常小的一部分,容易出现误判。
  • 可以参考附录工频闪类型自适应Sample用例处理流程

参数说明

参数名

输入/输出

说明

vi_pipe

输入

VI PIPE号。

取值范围:[0, 12)。

input_param

输入

自动计算工频闪输入相关参数指针。

output_param

输出

自动计算工频闪输出结果参数指针。

frame[]

输入

输入需要计算的连续帧数据

array_size

输入

输入需要计算连续帧的个数

返回值说明

参考样例

hi_vi_pipe vi_pipe = 0;
hi_u16 frame_num = 3;
hi_video_frame_info frame[3];
hi_isp_calc_flicker_input input_param;
hi_isp_calc_flicker_output output_param;
hi_isp_exp_info exp_info;
hi_mpi_isp_query_exposure_info(vi_pipe, &exp_info);
input_param. lines_per_second = exp_info.lines_per500ms*2
.. .. ..
获取3帧连续帧数据给 frame[3](此处略)
.. .. ..
ret = hi_mpi_isp_calc_flicker_type(vi_pipe, input_param, output_param, frame, frame_num);