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处理。异步接口。

Atlas 200/300/500 推理产品,不支持该接口。

Atlas 训练系列产品,不支持该接口。

Atlas 推理系列产品,不支持该接口。

输入说明

chn:int,图片处理通道号。
  • Atlas A2训练系列产品/Atlas 800I A2推理产品,该参数的取值范围:[0, 256),通道总数最多256。
  • Atlas 200I/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。

transform_param:dict,Remap变换参数字典,具体请参见hi_warp_transform_param,相关约束请参见约束说明

remap_lut:像素位置重映射表信息,具体请参见hi_remap_lut

需提前调用以下get接口获取像素位置重映射表信息:acl.himpi.vpc_get_affine_lutacl.himpi.vpc_get_perspective_lutacl.himpi.vpc_get_remap_lut,但本接口的缩放算法需与get接口的缩放算法保持一致,否则可能导致remap结果不符合预期。

milli_sec:int,超时时间配置,单位是毫秒,取值范围如下。
  • “-1”:阻塞方式。
  • “0”:非阻塞方式。
  • >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。

返回值说明

ret:int,错误码。

task_id:任务分配的ID,用来区分任务。

约束说明

版本

约束

Atlas 200I/500 A2推理产品

  • 输入、输出图片分辨率的取值范围为: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_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接口申请内部临时缓存。

    由于硬件约束,除YUV420SP NV12、YUV420SP NV21图片格式外,其它格式在输入与输出保持一致的情况下,无需调用acl.himpi.vpc_set_chn_workspace接口申请内部临时缓存,达到节省内存的目的。

  • 单张1080P(1920 * 1080)的图像处理超时时间建议设置10ms,其他分辨率,按照图像尺寸进行近似的等价折算,例如,4096 * 4096分辨率的图像建议超时时间设置为40ms。
  • 由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,在配置边界填充类型时,建议设置为“边界复制模式”,避免输出图片边缘异常数据。

Atlas A2训练系列产品/Atlas 800I A2推理产品

  • 输入、输出图片分辨率的取值范围为: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_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,选择该输入图片格式,则输出图片格式必须与输入保持一致
    HI_PIXEL_FORMAT_RGB_888_FP32 = 1012,    // RGB888 FP32,选择该输入图片格式,则输出图片格式必须与输入保持一致
    HI_PIXEL_FORMAT_BGR_888_FP32 = 1013,    // BGR888 FP32,选择该输入图片格式,则输出图片格式必须与输入保持一致
  • 支持如下输出图片格式:
    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,选择该输出图片格式,则输入图片格式必须与输出保持一致
    HI_PIXEL_FORMAT_RGB_888_FP32 = 1012,    // RGB888 FP32,选择该输出图片格式,则输入图片格式必须与输出保持一致
    HI_PIXEL_FORMAT_BGR_888_FP32 = 1013,    // BGR888 FP32,选择该输出图片格式,则输入图片格式必须与输出保持一致
  • 关于图片宽高对齐、内存等约束,请参见约束说明
  • 在任务执行过程中,需要临时缓存,因此每个通道第一次执行本接口前需先调用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格式时,在配置边界填充类型时,建议设置为“边界复制模式”,避免输出图片边缘异常数据。