acl.himpi.vpc_pyrdown

c函数原型

hi_s32 hi_mpi_vpc_pyrdown(hi_vpc_chn chn, const hi_vpc_pic_info *source_pic,hi_vpc_pic_info dest_pic[], hi_u32 filter_level, hi_s8 gaussian_filter[][5], hi_u16 divisor, hi_vpc_make_border_info make_border_info, hi_u32 *task_id, hi_s32 milli_sec);

Python函数

task_id, ret = acl.himpi.vpc_pyrdown(chn, source_pic, dest_pic, filter_level, gaussian_filter, divisor, make_border_info, milli_sec)

函数功能

对图像进行金字塔缩放,当前仅支持YUV400的图片格式。异步接口。

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

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

Atlas 200I/500 A2推理产品,不支持该接口。

Atlas A2训练系列产品/Atlas 800I A2推理产品,不支持该接口。

输入说明

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。输入图片的分辨率最大支持2048 * 2048,仅支持YUV 400格式输入。根据“filter_level”,最小输入分辨率限制如下:
  • filter_level = 1,最小输入分辨率为20 * 12。
  • filter_level = 2,最小输入分辨率为40 * 24。
  • filter_level = 3,最小输入分辨率为80 * 48。
  • filter_level = 4,最小输入分辨率为160 * 96。
dest_pic:dict,目标图片信息,具体请参见hi_vpc_pic_info,该数组长度与filter_level参数值保持一致。
  • dest_pic[0]保存的是原图宽高都缩小为1 / 2的图。
  • dest_pic[1]保存的是原图宽高都缩小为1 / 4的图。
  • dest_pic[2]保存的是原图宽高都缩小为1 / 8的图。
  • dest_pic[3]保存的是原图宽高都缩小为1 / 16的图。

filter_level:int,参数有效范围为[1, 4],指定金字塔图像层数以及图像数量。

gaussian_filter:高斯滤波参数,需传入5 * 5的列表,可通过传入“None”使用默认值,具体参见如下:
gaussian_filter = [
    [1, 4,  6,  4,  1],
    [4, 16, 24, 16, 4],
    [6, 24, 36, 24, 6],
    [4, 16, 24, 16, 4],
    [1, 4,  6,  4,  1]
]

divisor:int,滤波器除数,必须是2的幂次方。

make_border_info:dict,边界填充信息,具体请参见hi_vpc_make_border_info。填充固定填充2个像素,支持的填充类型为:“HI_BORDER_CONSTANT”“HI_BOARD_REPLICATE”“HI_BOARD_REFLECT”

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

返回值说明

ret:int,错误码。

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