acl.himpi.vpc_calc_hist_v2

c函数原型

hi_s32 hi_mpi_vpc_calc_hist(hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_histogram_config *hist_config, hi_u32 *task_id, hi_s32 milli_sec);

Python函数

task_id, ret = acl.himpi.vpc_calc_hist_v2(chn, source_pic, milli_sec, hist_config)

函数功能

统计图像每个通道的像素值分布。异步接口。

Atlas 200/300/500 推理产品,当前版本不支持该接口。

Atlas 训练系列产品,当前版本不支持该接口。

输入说明

chn:int,图片处理通道号。

  • Atlas 推理系列产品,该参数的取值范围:[0, 256),通道总数最多256。
  • Atlas A2训练系列产品/Atlas 800I A2推理产品,该参数的取值范围:[0, 256),通道总数最多256。
  • Atlas 200I/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。
source_pic:dict,输入图片信息,具体请参见hi_vpc_pic_info,相关约束请参见约束说明
说明:

当图片格式为YUV440SP 8bit、YVU440SP 8bit时,Y分量统计准确,UV分量统计上存在误差。

milli_sec:int,超时时间配置,单位是毫秒,取值范围如下。
  • “-1”:阻塞方式。
  • “0”:非阻塞方式。
  • >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。

hist_config:统计结果指针地址。

“hist_config”中的地址指向包含统计结果的结构体,用来存放每张图像3个分量0~255的分布情况。

调用np_out_size = np.array([out_buffer_size], dtype=np.int32)创建numpy array类型数据。

再调用bytes_data = np_out_size.tobytes()-> \->size_ptr = acl.util.bytes_to_ptr(bytes_data),将数据转换为对象作为入参。函数调用成功后,“size_ptr”指向的数据(即np_out_size)会发生改变。

返回值说明

ret:int,错误码。

task_id:任务分配的ID,用来区分任务。

约束说明