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/500 A2推理产品,不支持该接口。

输入说明

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

    该参数的取值范围:[0, 128),通道总数最多128。

  • source_pic:输入图片信息。输入图片的分辨率最大支持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:目标图片信息,该数组长度与filter_level参数值保持一致。
    • dest_pic[0]保存的是原图宽高都缩小为1/2的图。
    • dest_pic[1]保存的是原图宽高都缩小为1/4的图。
    • dest_pic[2]保存的是原图宽高都缩小为1/8的图。
    • dest_pic[3]保存的是原图宽高都缩小为1/16的图。
  • filter_level:参数有效范围是1-4,指定金字塔图像层数以及图像数量。
  • 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:滤波器除数,必须是2的幂次方。
  • make_border_info:边界填充信息。填充固定填充2个像素,支持的填充类型为:HI_BORDER_CONSTANT、HI_BOARD_REPLICATE和HI_BOARD_REFLECT。
  • milli_sec:超时时间配置,单位是毫秒,取值范围如下。
    • “-1”:阻塞方式。
    • “0”:非阻塞方式。
    • >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。

返回值说明

  • ret:int,错误码。
  • task_id:任务分配的ID,用来区分任务。