vpc_calc_hist_v2
Applicability
Product |
Supported (√/x) |
|---|---|
√ |
|
√ |
|
x |
|
√ |
|
√ |
Function Usage
Calculates a histogram of image channels. This API is asynchronous.
Prototype
- C Prototype
1hi_s32 hi_mpi_vpc_calc_hist(hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_histogram_config *hist_config, hi_u32 *task_id, hi_s32 milli_sec);
- Python Function
1task_id, ret = acl.himpi.vpc_calc_hist_v2(chn, source_pic, milli_sec, hist_config)
Parameter Description
Parameter |
Description |
|---|---|
chn |
Int, channel ID for image processing.
|
source_pic |
Dict. Input image information. For details, see hi_vpc_pic_info. For details about related restrictions, see Restrictions.
NOTE:
When the image format is 8-bit YUV440SP or 8-bit YVU440SP, the Y component statistics are accurate, but the UV component statistics are inaccurate. |
milli_sec |
Int, timeout interval, in milliseconds.
|
hist_config |
Int, pointer address of the statistics result. The address in hist_config points to the struct that contains the statistics result and stores the distribution (0–255) of the three components of each image. np_out_size = np.array([out_buffer_size], dtype=np.int32) is called to create data of a NumPy array. Then bytes_data = np_out_size.tobytes()-> \->size_ptr = acl.util.bytes_to_ptr(bytes_data) is called to convert the data into an object as the argument. After the function is called successfully, the data (np_out_size) converted by size_ptr changes. |
Return Value Description
Return Value |
Description |
|---|---|
task_id |
Int, task ID, used to identify a task. |
ret |
Int, error code.
|
Restrictions
- Requirements on the input resolution:
Version
Restriction
Atlas inference products Input image resolution: [10 x 6, 4096 x 4096].
Atlas 200I/500 A2 inference products Atlas A2 training products /Atlas A2 inference products Atlas A3 training products /Atlas A3 inference products Input image resolution: [10 x 6, 4096 x 8192].
- 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_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 HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444P 8bit HI_PIXEL_FORMAT_RGB_888 = 12, // RGB888 HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888 HI_PIXEL_FORMAT_YUV_SEMIPLANAR_440 = 1000, // YUV440SP 8bit HI_PIXEL_FORMAT_YVU_SEMIPLANAR_440 = 1001, // YVU440SP 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.