hi_mpi_vpc_crop

Applicability

Product

Supported

Atlas A3 training products / Atlas A3 inference products

Atlas A2 training products / Atlas A2 inference products

Atlas 200I/500 A2 inference products

Atlas inference products

Atlas training products

Description

Crops one or more regions of interest (ROIs) from an image. This API is asynchronous.

Prototype

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)

Parameters

Parameter

Input/Output

Description

chn

Input

Channel ID for image processing.

Atlas A3 training products / Atlas A3 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 inference products : The value range of this parameter is [0, 256). The maximum number of channels is 256.

source_pic

Input

Pointer to the source image information.

crop_info

Input

Information array of cropped ROIs. The array length is the same as that of the count value.

count

Input

Number of cropped ROIs. Value range: [1, 256].

task_id

Output

Pointer to the task ID, which is used to identify a task.

milli_sec

Input

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.

Returns

Restrictions

Model

Restriction

Atlas inference products

  • Input image resolution and format:
    • If the input image resolution is within 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 width or height of the input image is within 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.
  • It takes about 3 ms to process a single 1080p image. You can estimate the time consumption based on this rule. A 3840 x 2160 image equals to four 1080p images, which means that it takes about 12 ms to process a single 3840 x 2160 image.

Atlas A3 training products / Atlas A3 inference products

Atlas A2 training products / Atlas A2 inference products

Atlas 200I/500 A2 inference products

  • For details about the restrictions on the image resolution, image format, width and height alignment, and buffer size, see Restrictions.
  • It takes about 3 ms to process a single 1080p image. You can estimate the time consumption based on this rule. A 3840 x 2160 image equals to four 1080p images, which means that it takes about 12 ms to process a single 3840 x 2160 image.

See Also

For details about the API call sequence and example, see Typical Functions of VPC.