vpc_batch_crop_resize_paste

Applicability

Product

Supported (√/x)

Atlas A3 training products/Atlas A3 inference products

Atlas A2 training products/Atlas A2 inference products

Atlas training products

x

Atlas inference products

Atlas 200I/500 A2 inference products

Function Usage

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

Prototype

  • C Prototype
    1
    hi_s32 hi_mpi_vpc_batch_crop_resize_paste (hi_vpc_chn chn, const hi_vpc_pic_info *source_pic[], hi_u32 pic_num, hi_vpc_crop_resize_paste_region crop_resize_paste_info[], hi_u32 count[], hi_u32 *task_id, hi_s32 milli_sec);
    
  • Python Function
    1
    task_id, ret =acl.himpi.vpc_batch_crop_resize_paste(chn, source_pic, pic_num, crop_resize_paste_info, count, milli_sec)
    

Parameter Description

Parameter

Description

chn

Int, channel ID for image processing.

  • Atlas inference products: The value range of this parameter is [0, 256). The maximum number of channels is 256.
  • Atlas A2 training products/Atlas A2 inference products: The value range of this parameter is [0, 256). The maximum number of channels is 256.
  • Atlas 200I/500 A2 inference products: The value range of this parameter is [0, 128). The maximum number of channels is 128.
  • Atlas A3 training products/Atlas A3 inference products: The value range of this parameter is [0, 256). The maximum number of channels is 256.

source_pic

Dict, source image information. For details, see hi_vpc_pic_info. For details about related restrictions, see Restrictions.

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_paste_info

Dictionary for crop, resize, and paste information. You need to set the buffer address of the destination image for storing this information. For details, see hi_vpc_crop_resize_paste_region.

count

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

milli_sec

Int, timeout interval, in milliseconds.
  • -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 Description

Return Value

Description

task_id

Int, task ID, used to identify a task.

ret

Int, error code.

Restrictions

Version

Restriction

Atlas inference products

  • Input image size and format:
    • When the input image size is in the range of [10 x 6, 4096 x 4096], the input image formats described in Restrictions on Image Formats, Width and Height Alignment, and Buffers are supported.
    • When the input image width or height is in the range of (4096, 8192], the supported formats are as follows:
      The following enum values of hi_pixel_format are supported:
      HI_PIXEL_FORMAT_YUV_400 = 0,               // YUV400 8bit
      HI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1,    // YUV420SP NV12 8bit   
      HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2,    // YUV420SP NV21 8bit 
      HI_PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3,    // YUV422SP 8bit
      HI_PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4,    // YVU422SP 8bit
      HI_PIXEL_FORMAT_YUV_SEMIPLANAR_444 = 5,    // YUV444SP 8bit
      HI_PIXEL_FORMAT_YVU_SEMIPLANAR_444 = 6,    // YVU444SP 8bit
      HI_PIXEL_FORMAT_YUYV_PACKED_422 = 7,       // YUV422Packed YUYV 8bit
      HI_PIXEL_FORMAT_UYVY_PACKED_422 = 8,       // YUV422Packed UYVY 8bit
      HI_PIXEL_FORMAT_YVYU_PACKED_422 = 9,       // YUV422Packed YVYU 8bit
      HI_PIXEL_FORMAT_VYUY_PACKED_422 = 10,      // YUV422Packed VYUY 8bit
    • For details about the restrictions on the width and height alignment, buffer size, and image format, see Restrictions on Image Formats, Width and Height Alignment, and Buffers.
  • For details about the restrictions on the output image size, image format, width and height alignment, and buffer size, see Restrictions.
  • When the input and output images are in ARGB8888, ABGR8888, RGBA8888, or BGRA8888 format, the A component value changes to 0 after being resized by this API.
  • hi_vpc_crop_resize_paste_region allows diversified setting combinations. However, there are some common restrictions, for example:
    • If the desired size for cropping is the same as the source image size, cropping is not performed.
    • If the desired size for resizing is the same as the crop ROI size, resizing is not performed.
    • If the desired size for cropping and resizing is the same as the output image and the coordinates of the upper-left corner of the paste ROI are (0, 0), pasting is not performed.

Atlas 200I/500 A2 inference products

Atlas A2 training products/Atlas A2 inference products

Atlas A3 training products/Atlas A3 inference products

  • For details about the restrictions on the image size, image format, width and height alignment, and buffer size, see Restrictions.
  • When the input and output images are in ARGB8888, ABGR8888, RGBA8888, or BGRA8888 format, the A component value changes to 0 after being resized by this API.
  • Due to restrictions on downsampling of YUV images, when the output image format is YUV420SP or YUV422SP, it is recommended that the top and left offset of the image be even numbers.
  • hi_vpc_crop_resize_paste_region allows diversified setting combinations. However, there are some common restrictions, for example:
    • If the desired size for cropping is the same as the source image size, cropping is not performed.
    • If the desired size for resizing is the same as the crop ROI size, resizing is not performed.
    • If the desired size for cropping and resizing is the same as the output image and the coordinates of the upper-left corner of the paste ROI are (0, 0), pasting is not performed.