昇腾社区首页
中文
注册

vpc_pyrdown

产品支持情况

产品

是否支持

Atlas A3 训练系列产品/Atlas A3 推理系列产品

x

Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件

x

Atlas 训练系列产品

x

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

x

Atlas 200/300/500 推理产品

x

功能说明

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

函数原型

  • C函数原型
    1
    hi_s32 hi_mpi_vpc_pyrdown(hi_vpc_chn chn,  const hi_vpc_pic_info *source_pichi_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函数
    1
    task_id, ret = acl.himpi.vpc_pyrdown(chn, source_pic, dest_pic, filter_level, gaussian_filter, divisor, make_border_info, milli_sec)
    

参数说明

参数名

说明

chn

int,图片处理通道号。

Atlas 推理系列产品,该参数的取值范围:[0, 256),通道总数最多256。

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

list,高斯滤波参数,需传入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,用来区分任务。