acl.himpi.vpc_get_rotation_matrix
acl.himpi.vpc_get_lut_mem_size
| c函数原型 | hi_s32 **hi_mpi_vpc_get_lut_mem_size(**hi_u32 width, hi_u32 height, hi_u32 *lut_size) |
|---|---|
| Python函数 | lut_size**, ret = acl.himpi.vpc_get_lut_mem_size(width, height)** |
| 函数功能 | 根据输出图片宽高信息获取像素位置重映射表所需的内存大小。同步接口。 |
| 输入说明 | - width:int,输出图像宽度。 - height:int,输出图像高度。 |
| 返回值说明 | - lut_size:int,像素位置重映射表的内存大小,单位Byte。 - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 |
| 约束说明 | 调用本接口时,width * height的取值范围为:10*6~4096*8192。 |
父主题: VPC图像处理接口
acl.himpi.vpc_get_perspective_lut
| c函数原型 | hi_s32 hi_mpi_vpc_get_perspective_lut(hi_point_pair_info *point_pair_info, hi_u32 interpolation, hi_remap_lut *remap_lut) |
|---|---|
| Python函数 | remap_lut, ret = acl.himpi.vpc_get_perspective_lut(point_pair_info, interpolation**,** remap_lut**)** |
| 函数功能 | 根据输入、输出图片中的像素位置坐标点,获取透视变换像素位置重映射表。同步接口。 |
| 输入说明 | - point_pair_info:dict,包含四对输入、输出图片中的像素点坐标信息字典,每对中分别包含一个输入图片像素点坐标、一个输出图片像素点坐标。 - interpolation:int,支持如下缩放算法。 - 0:业界通用的Bilinear算法(与OpenCV算法的计算过程类似)。 - 1:业界通用的Nearest neighbor 算法(与OpenCV算法的计算过程类似)。 - remap_lut:dict,透视变换像素位置重映射表字典,具体请参见hi_remap_lut。字典中的lut属性需由用户提前申请内存,内存大小“lut_size”属性可调用acl.himpi.vpc_get_lut_mem_size接口获取。 |
| 返回值说明 | - remap_lut:dict,透视变换像素位置重映射表字典。在成功调用本接口后,用户可通过lut属性中的地址获取仿射变换LUT表信息。 - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 |
父主题: VPC图像处理接口
acl.himpi.vpc_get_remap_lut
| c函数原型 | hi_s32 hi_mpi_vpc_get_remap_lut(hi_map_param *map_param, hi_remap_lut *remap_lut) |
|---|---|
| Python函数 | remap_lut, ret =acl.himpi.vpc_get_remap_lut(map_param, remap_lut**)** |
| 函数功能 | 根据用户输入的Remap表(例如仿射、透视、鱼眼等),获取系统使用的像素位置重映射表。同步接口。 |
| 输入说明 | - map_param:dict,用户原始map表信息字典。请参见hi_map_param。 - remap_lut:dict,透视变换像素位置重映射表字典,具体请参见hi_remap_lut。字典中的lut属性需由用户提前申请内存,内存大小“lut_size”属性可调用acl.himpi.vpc_get_lut_mem_size接口获取。 |
| 返回值说明 | - remap_lut:dict,透视变换像素位置重映射表字典。在成功调用本接口后,用户可通过lut属性中的地址获取仿射变换LUT表信息。 - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 |
父主题: VPC图像处理接口
acl.himpi.vpc_get_rotation_matrix
| c函数原型 | **hi_s32 hi_mpi_vpc_get_rotation_matrix(**hi_float_point center_point, hi_double angle, hi_double scale, hi_transform_matrix *matrix) |
|---|---|
| Python函数 | matrix, ret = acl.himpi.vpc_get_rotation_matrix(center_point, angle, scale**)** |
| 函数功能 | 获取仿射变换需要的旋转矩阵。 |
| 输入说明 | - center_point:dict,输入图像的旋转中心点字典。 - angle:float,旋转角度,正值表示逆时针旋转。 - scale:float,缩放参数,“scale”参数值大于1表示放大图片,参数值小于1表示缩小图片。 |
| 返回值说明 | - matrix:dict,仿射变换需要的变换矩阵信息字典,其中“matrix_type”参数值请参考实际输入矩阵进行配置,具体参见hi_transform_matrix。 - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 |
父主题: VPC图像处理接口
acl.himpi.vpc_lut_remap
| c函数原型 | hi_s32 hi_mpi_vpc_lut_remap(hi_vpc_chn chn, hi_warp_transform_param* transform_param, hi_remap_lut *remap_lut, hi_u32 *task_id, hi_s32 milli_sec) |
|---|---|
| Python函数 | task_id, ret = acl.himpi.vpc_lut_remap(chn, transform_param**,** remap_lut, milli_sec**)** |
| 函数功能 | 基于输入像素位置重映射表的方式对图片进行Remap处理。异步接口。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - **transform_param:**dict,Remap变换参数字典,相关约束请参见约束说明。 - remap_lut:像素位置重映射表信息,具体请参见hi_remap_lut。 需提前调用以下get接口获取像素位置重映射表信息:acl.himpi.vpc_get_affine_lut、或acl.himpi.vpc_get_perspective_lut、或acl.himpi.vpc_get_remap_lut,但本接口的缩放算法需与get接口的缩放算法保持一致,否则可能导致remap结果不符合预期。 - milli_sec:超时时间配置,单位是毫秒,取值范围如下。 - “-1”:阻塞方式。 - “0”:非阻塞方式。 - >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。 |
| 返回值说明 | - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 - task_id:任务分配的ID,用来区分任务。 |
| 约束说明 | - 在任务执行过程中,需要临时缓存,因此每个通道第一次执行本接口前需先调用acl.himpi.vpc_set_chn_workspace接口申请内部临时缓存。 Atlas 200/500 A2推理产品上,由于硬件约束,除YUV420SP NV12、YUV420SP NV21图片格式外,其它格式在输入与输出保持一致的情况下,无需调用acl.himpi.vpc_set_chn_workspace接口申请内部临时缓存,达到节省内存的目的。 。 - VPC功能中,关于图片分辨率、图片格式、宽高对齐、内存等约束,请参见约束说明。 - 单张1080P(1920*1080)的图像处理超时时间建议设置10ms,其他分辨率,按照图像尺寸进行近似的等价折算,例如,4096*4096分辨率的图像建议超时时间设置为40ms。 - Atlas 200/500 A2推理产品上,由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,在配置边界填充类型时,建议设置为“边界复制模式”,避免输出图片边缘异常数据。 |
约束说明
| 版本 | 约束 |
|---|---|
| Atlas 200/500 A2推理产品 | - 输入、输出图片分辨率的取值范围为:10*6~4096*8192。 - 支持如下输入图片格式: text<br> HI_PIXEL_FORMAT_YUV_400 = 0, // YUV400 8bit<br> HI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bit <br> HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bit <br> HI_PIXEL_FORMAT_RGB_888 = 12, // RGB888<br> HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888<br> HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444P 8bit<br> HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444P 8bit<br> - 支持如下输出图片格式: text<br> HI_PIXEL_FORMAT_YUV_400 = 0, // YUV400 8bit<br> HI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bit <br> HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bit <br> HI_PIXEL_FORMAT_RGB_888 = 12, // RGB888<br> HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888<br> HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444P 8bit<br> HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444P 8bit<br> HI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // YUV422P YUYV 8bit <br> HI_PIXEL_FORMAT_UYVY_PACKED_422 = 8, // YUV422P UYVY 8bit<br> HI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422P YVYU 8bit <br> HI_PIXEL_FORMAT_VYUY_PACKED_422 = 10, // YUV422P VYUY 8bit <br> - 关于图片宽高对齐、内存等约束,请参见约束说明。 - 在任务执行过程中,需要临时缓存,因此每个通道第一次执行本接口前需先调用acl.himpi.vpc_set_chn_workspace接口申请内部临时缓存。 由于硬件约束,除YUV420SP NV12、YUV420SP NV21图片格式外,其它格式在输入与输出保持一致的情况下,无需调用acl.himpi.vpc_set_chn_workspace接口申请内部临时缓存,达到节省内存的目的。 - 单张1080P(1920*1080)的图像处理超时时间建议设置10ms,其他分辨率,按照图像尺寸进行近似的等价折算,例如,4096*4096分辨率的图像建议超时时间设置为40ms。 - 由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,在配置边界填充类型时,建议设置为“边界复制模式”,避免输出图片边缘异常数据。 |
父主题: VPC图像处理接口
acl.himpi.vpc_median_blur
| c函数原型 | hi_s32 hi_mpi_vpc_median_blur(hi_vpc_chn chn, const hi_median_blur_param* median_blur_param, hi_u32 *task_id, hi_s32 milli_sec) |
|---|---|
| Python函数 | task_id, ret = acl.himpi.vpc_median_blur(chn, median_blur_param,milli_sec) |
| 函数功能 | 对输入图片做中值滤波处理。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - median_blur_param:dict,中值滤波信息字典。 在hi_median_blur_param字典内配置输入、输出图片信息,以及中值滤波参数。其中,中值滤波参数在hi_median_blur_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,且输入、输出图片的分辨率需保持一致。
-
支持如下输入图片格式(输出图片格式与输入保持一致):
HI_PIXEL_FORMAT_YUV_400 = 0, // YUV400 8bitHI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bitHI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bitHI_PIXEL_FORMAT_YUV_SEMIPLANAR_422 = 3, // YUV422SP 8bitHI_PIXEL_FORMAT_YVU_SEMIPLANAR_422 = 4, // YVU422SP 8bitHI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // YUV422Packed YUYV 8bitHI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422Packed YVYU 8bitHI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444 Package 8bitHI_PIXEL_FORMAT_RGB_888 = 12, // RGB888HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444 Package 8bitHI_PIXEL_FORMAT_RGB_888_PLANAR = 69, // RGB888 PlanarHI_PIXEL_FORMAT_BGR_888_PLANAR = 70, // BGR888 Planar
父主题: VPC图像处理接口
acl.himpi.vpc_rotate
| c函数原型 | hi_s32 hi_mpi_vpc_rotate(hi_vpc_chn chn, const hi_rotate_param* rotate_param**, hi_u32 *task_id, hi_s32 milli_sec)** |
|---|---|
| Python函数 | task_id, ret = acl.himpi.vpc_rotate(chn, rotate_param**,** milli_sec**)** |
| 函数功能 | 对输入图片做90度/180度/270度操作,输出图片宽高也要随旋转角度置换。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - rotate_param:dict,旋转信息字典。 在hi_rotate_param字典内配置输入、输出图片信息,以及旋转参数。 - milli_sec:超时时间配置,单位是毫秒,取值范围如下。 - “-1”:阻塞方式。 - “0”:非阻塞方式。 - >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。 |
| 返回值说明 | - ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 - task_id:任务分配的ID,用来区分任务。 |
约束说明
| 版本 | 约束 |
|---|---|
| Atlas 200/500 A2推理产品 | - 输入、输出图片分辨率的取值范围为:10*6~4096*8192。 - 支持如下输入图片格式(输出图片格式与输入保持一致): text<br> HI_PIXEL_FORMAT_YUV_400 = 0, // YUV400 8bit<br> HI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bit <br> HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bit <br> HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444 Package 8bit<br> HI_PIXEL_FORMAT_RGB_888 = 12, // RGB888<br> HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888<br> HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444 Package 8bit<br> HI_PIXEL_FORMAT_RGB_888_PLANAR = 69, // RGB888 Planar<br> HI_PIXEL_FORMAT_BGR_888_PLANAR = 70, // BGR888 Planar<br> |
父主题: VPC图像处理接口
在线提单