vpc_warp_affine
Applicability
Product |
Supported |
|---|---|
Atlas 350 Accelerator Card |
√ |
√ |
|
√ |
|
x |
|
x |
|
√ |
Description
Performs affine transformation on the input image.
Prototype
- C Prototype
1hi_s32 hi_mpi_vpc_warp_affine(hi_vpc_chn chn, hi_transform_matrix *matrix, hi_warp_transform_param *transform_param, hi_u32 *task_id, hi_s32 milli_sec)
- Python Function
1task_id, ret = acl.himpi.vpc_warp_affine(chn, matrix, transform_param, milli_sec)
Parameters
Parameter |
Description |
|---|---|
chn |
Int, channel ID for image processing. Atlas 350 Accelerator Card: The value range is [0, 256). The maximum number of channels is 256. |
matrix |
Dict, dictionary of transformation matrix information required for affine transformation. For details, see hi_transform_matrix. It can be obtained by calling acl.himpi.vpc_get_affine_transform or acl.himpi.vpc_get_rotation_matrix. |
transform_param |
Dict, affine transformation parameters. Configure the input and output image information in the hi_warp_transform_param dictionary. For details about the restrictions, see Restrictions.. |
milli_sec |
Int, timeout interval, in milliseconds. |
Return Value
Return Value |
Description |
|---|---|
task_id |
Int, task ID, used to identify a task. |
ret |
Int, error code.
|
Restrictions
- The resolution of the input and output images ranges from 10 x 6 to 4096 x 8192.
- The requirements on the input and output image formats are as follows (for details about the restrictions on the image width, height, and memory, see Restrictions):
Version
Restrictions
Atlas 200I/500 A2 inference product - The following input image formats 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_RGB_888 = 12, // RGB888 HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888 HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444P 8bit HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444P 8bit
- The following output image formats 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_RGB_888 = 12, // RGB888 HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888 HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444P 8bit HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444P 8bit HI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // YUV422P YUYV 8bit HI_PIXEL_FORMAT_UYVY_PACKED_422 = 8, // YUV422P UYVY 8bit HI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422P YVYU 8bit HI_PIXEL_FORMAT_VYUY_PACKED_422 = 10, // YUV422P VYUY 8bit
Atlas 350 Accelerator Card
Atlas A2 training product /Atlas A2 inference product Atlas A3 training product /Atlas A3 inference product - The following input image formats 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_RGB_888 = 12, // RGB888 HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888 HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444P 8bit HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444P 8bit HI_PIXEL_FORMAT_YUV400_FP32 = 138, // YUV400 FP32. If this input image format is selected, the output image format must be the same as the input image format. HI_PIXEL_FORMAT_RGB_888_FP32 = 1012, // RGB888 FP32. If this input image format is selected, the output image format must be the same as the input image format. HI_PIXEL_FORMAT_BGR_888_FP32 = 1013, // BGR888 FP32. If this input image format is selected, the output image format must be the same as the input image format.
- The following output image formats 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_RGB_888 = 12, // RGB888 HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888 HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444P 8bit HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444P 8bit HI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // YUV422P YUYV 8bit HI_PIXEL_FORMAT_UYVY_PACKED_422 = 8, // YUV422P UYVY 8bit HI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422P YVYU 8bit HI_PIXEL_FORMAT_VYUY_PACKED_422 = 10, // YUV422P VYUY 8bit HI_PIXEL_FORMAT_YUV400_FP32 = 138, // YUV400 FP32. If this output image format is selected, the input image format must be the same as the output image format. HI_PIXEL_FORMAT_RGB_888_FP32 = 1012, // RGB888 FP32. If this output image format is selected, the input image format must be the same as the output image format. HI_PIXEL_FORMAT_BGR_888_FP32 = 1013, // BGR888 FP32. If this output image format is selected, the input image format must be the same as the output image format.
- The following input image formats are supported:
- The task execution requires temporary buffers. Therefore, before calling this API for the first time in each channel, call acl.himpi.vpc_set_chn_workspace to allocate internal buffers.
- Due to restrictions on downsampling of YUV images, when the output image format is YUV420SP or YUV422SP, you are advised to set the border making type to border replication mode, to avoid abnormal data on the output image edge.