hi_mpi_vpc_pyrdown

函数功能

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

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

Atlas 训练系列产品,不支持该接口。

Atlas A2训练系列产品,不支持该接口。

函数原型

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)

参数说明

参数名

输入/输出

说明

chn

输入

图片处理通道号。

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

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。

task_id

输出

任务ID的指针,用来区分任务。

milli_sec

输入

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

返回值说明