acl.himpi.vpc_lut_remap
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图像处理接口
acl.himpi.vpc_set_chn_workspace
| c函数原型 | hi_s32 **hi_mpi_vpc_set_chn_workspace(**hi_vpc_chn chn, hi_vpc_workspace_param *workspace_param, hi_u32 param_cnt) |
|---|---|
| Python函数 | ret = acl.himpi.vpc_set_chn_workspace(chn, workspace_param**,** param_cnt**)** |
| 函数功能 | 调用本接口后,系统内部会根据输入图片、输出图片的最大宽高信息申请需使用的内部临时缓存,通过该接口申请的临时缓存,在销毁通道时会自动释放。同步接口。 |
| 输入说明 | - chn:int,图片处理通道号。 - Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。 - workspace_param:list,元素类型为hi_vpc_workspace_param字典的数组。 此处需根据所使用的Remap功能或仿射变换功能来设置hi_vpc_workspace_param["func"]参数值。 若在一个应用程序中,涉及Remap、仿射变换两种功能,则可以在hi_vpc_workspace_param数组中包含2个元素,一个元素的hi_vpc_workspace_param["func"]设置为REMAP,一个元素的hi_vpc_workspace_param["func"]设置为AFFINE。 - param_cnt:int,数组长度,需与workspace_param数组长度保持一致。 |
| 返回值说明 | ret:int,错误码。 - 返回0表示成功。 - 返回非0表示失败,参见VPC图像处理返回码。 |
| 约束说明 | 对于每个通道,该接口只能设置一次,后续不能修改。 |
父主题: VPC图像处理接口
在线提单