acl.himpi.vpc_batch_crop_resize_make_border

C Prototype

hi_s32 hi_mpi_vpc_batch_crop_resize_make_border(hi_vpc_chn chn, const hi_vpc_pic_info *source_pic[], hi_u32 pic_num, hi_vpc_crop_resize_border_region crop_resize_make_border_info[], hi_u32 count[], hi_u32 *task_id, hi_s32 milli_sec);

Python Function

task_id, ret = acl.himpi.vpc_batch_crop_resize_make_border(chn, source_pic, pic_num, crop_resize_make_border_info, count, milli_sec)

Function Usage

Extended from acl.himpi.vpc_crop_resize_make_border, for processing images in batches. Crops one or more ROIs from each source image, resizes the cropped images, pastes the resized images to each output canvas, and creates borders around the paste ROIs. This API is asynchronous.

The Atlas 200/300/500 Inference Product does not support this API in the current version.

The Atlas Training Series Product does not support this API in the current version.

Input Description

chn: int, image processing channel ID.

source_pic: dict, original image information. For details, see hi_vpc_pic_info. For details about related restrictions, see #EN-US_TOPIC_0000002128076896/section1676152117452.

pic_num: int, number of source images. Its length must be the same as that of the source_pic list and that of the count array.

crop_resize_make_border_info: dict, dictionary for crop, resize, and border making information. You need to set the buffer address of the destination image for storing this information. Only HI_BORDER_CONSTANT is supported. The value can be 4096 x 4096. For details, see hi_vpc_crop_resize_border_region.

count: array for the number of crop ROIs of each source image. Has the same length as the crop_resize_make_border_info array. The sum of element values in the count array must be in the range of [1, 256].

milli_sec: int, timeout interval (ms).
  • -1: blocking mode.
  • 0: non-blocking mode.
  • > 0: timeout interval (timeout mode). The timeout interval varies with the operating system. The deviation is generally within a time slice of an operating system. For example, if the time slice of an operating system is 4 ms and the value of milli_sec is set to 1, the actual timeout interval ranges from 1 ms to 5 ms. When the CPU load is high, the timeout interval may fluctuate.

Return Value

ret: int, error code.

task_id: task ID, used to identify a task.