vpc_crop

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

Crops one or more ROIs from an image. This API is asynchronous.

Prototype

  • C Prototype
    1
    hi_s32 hi_mpi_vpc_crop(hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_crop_region_info crop_info[], hi_u32 count, hi_u32 *task_id, hi_s32 milli_sec);
    
  • Python Function
    1
    task_id, ret = acl.himpi.vpc_crop(chn, source_pic, crop_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, original image information. For details, see hi_vpc_pic_info. For details about related restrictions, see Restrictions.

crop_info

List, cropped image information list. The length is the same as the value of count. For details, see hi_vpc_crop_region_info.

count

Int, number of crop ROIs. Value range: [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.

Reference

For the API call sequence, see Typical API Call Sequence (Image Resizing).

Restrictions

Version

Restrictions

Atlas inference products

  • Input image size and format:
    • When the input image resolution 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 resolution, image format, width and height alignment, and buffer size, see Restrictions.
  • Processing a single 1080p image requires a recommended setting of 3 ms timeout, and two 1080p images require a recommended setting of 6 ms timeout. This rule applies to more images. In terms of resolution, a 4K image is equivalent to four 1080p images, and therefore processing a single 3840 x 2160 image requires a recommended setting of 12 ms timeout.

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.
  • Processing a single 1080p image requires a recommended setting of 3 ms timeout, and two 1080p images require a recommended setting of 6 ms timeout. This rule applies to more images. In terms of resolution, a 4K image is equivalent to four 1080p images, and therefore processing a single 3840 x 2160 image requires a recommended setting of 12 ms timeout.