---
title: acl.himpi.vpc_warp_affine
description: "| c函数原型 | hi\_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) |"
url: https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/latest/Application%20Development%20Guide/aadgp/aclpythondevg_01_0462.html
sourcePath: /source/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Application Development Guide/aadgp/aclpythondevg_01_0462.html
indexId: 72430777614d41e8f87382ee363c8a84f0f2884fd5b5ddf1c28162c132997af6108
---
# acl.himpi.vpc_warp_affine

| c函数原型 | hi\_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函数 | task\_id, ret = acl.himpi.vpc\_warp\_affine(chn, matrix, transform\_param, milli\_sec) |
| 函数功能 | 对输入图片做仿射变换。 |
| 输入说明 | chn：int，图片处理通道号。 Atlas 200/500 A2推理产品，该参数的取值范围：[0, 128)，通道总数最多128。 matrix：dict，仿射变换需要的变换矩阵信息字典，具体参见hi\_transform\_matrix。使用acl.himpi.vpc\_get\_affine\_transform或者acl.himpi.vpc\_get\_rotation\_matrix接口获取的仿射变换矩阵信息字典。 transform\_param：dict，仿射变换参数，在hi\_warp\_transform\_param字典内配置输入、输出图片信息，相关约束请参见约束说明。 milli\_sec：超时时间配置，单位是毫秒，取值范围如下。 “\-1”：阻塞方式。 “0”：非阻塞方式。 >0：超时方式，配置具体的超时时间。超时时间受操作系统影响，一般偏差在操作系统的一个时间片内，例如，操作系统的一个时间片为4ms，用户设置的milli\_sec参数值为1，则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下，超时时间仍可能存在波动。 |
| 返回值说明 | ret：int，错误码。 返回0表示成功。 返回非0表示失败，参见VPC图像处理返回码。 task\_id：任务分配的ID，用来区分任务。 |


#### 约束说明

- 输入、输出图片分辨率的取值范围为：10*6~4096*8192。
- 关于输入、输出图片格式的要求如下（关于图片宽高对齐、内存等约束，请参见  约束说明
）：| 版本 | 约束 |
| --- | --- |
| Atlas 200/500 A2推理产品 | 支持如下输入图片格式： 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\_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 |


- 在任务执行过程中，需要临时缓存，因此每个通道第一次执行本接口前需先调用  acl.himpi.vpc_set_chn_workspace
接口申请内部临时缓存。
- 由于  YUV格式图像下采样约束
，当输出图片格式为YUV420SP或YUV422SP格式时，在配置边界填充类型时，建议设置为“边界复制模式”，避免输出图片边缘异常数据。
