acl.himpi.vpc_calc_hist_v2
C Prototype |
hi_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 |
task_id, ret = acl.himpi.vpc_calc_hist_v2(chn, source_pic, milli_sec, hist_config) |
Function Usage |
Calculates a histogram of image channels. This API is asynchronous. The Atlas 200/300/500 Inference Product does not support this API in the current version. The Atlas Training Series Product does not support this API in the current version. |
Input Description |
chn: int, image processing channel ID. 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 YUV440SP 8-bit or YVU440SP 8-bit, the Y component statistics are accurate, but the UV component statistics are inaccurate. milli_sec: int, timeout interval (ms).
hist_config: address of the statistics result pointer. 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 |
ret: int, error code.
task_id: task ID, used to identify a task. |
Restrictions
- 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.