Skip to main content

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 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_YUYV_PACKED_422 = 7, // YUV422Packed YUYV 8bit
    HI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422Packed YVYU 8bit
    HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444 Package 8bit
    HI_PIXEL_FORMAT_RGB_888 = 12, // RGB888
    HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888
    HI_PIXEL_FORMAT_YVU_PACKED_444 = 58, // YVU444 Package 8bit
    HI_PIXEL_FORMAT_RGB_888_PLANAR = 69, // RGB888 Planar
    HI_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图像处理接口

在线提单