vpc_equalize_hist

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

Remaps a specified pixel value of a specified component in the input image to another pixel value to form the output image, which is usually used for image enhancement. The purpose is to increase the contrast and definition of an image. This API is asynchronous.

Prototype

  • C Prototype
    1
    hi_s32 hi_mpi_vpc_equalize_hist(hi_vpc_chn chn,  const hi_vpc_pic_info* source_pic, hi_vpc_pic_info* dest_pic, const hi_vpc_lut_remap *lut_remap, hi_u32 *task_id, hi_s32 milli_sec);
    
  • Python Function
    1
    task_id, ret = acl.himpi.vpc_equalize_hist(chn, source_pic, dest_pic, lut_remap, 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, input image information. For details, see hi_vpc_pic_info. For details about related restrictions, see Restrictions.

dest_pic

Dict, target image information. For details, see hi_vpc_pic_info. The destination image has the same format as the source image.

lut_remap

Dict, configuration of the image lut_remap. For details, see hi_vpc_lut_remap. lut_remap is a 768-byte configuration array for hardware-based pixel remapping.

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

  • Input image resolution: (10 x 6, 4096 x 4096].
  • The following enum values of hi_pixel_format are supported for the source image format:
    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_PACKED_444 = 11,      // YUV444P 8bit
    HI_PIXEL_FORMAT_RGB_888 = 12,             // RGB888
    HI_PIXEL_FORMAT_BGR_888 = 13,             // BGR888
  • The destination image has the same format as the source image.
  • 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.