跳到主要内容

acl.himpi.vpc_convert_color

acl.himpi.vpc_crop_resize

c函数原型hi_s32 hi_mpi_vpc_crop_resize(hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_crop_resize_region crop_resize_info[], hi_u32 count, hi_u32 *task_id, hi_s32 milli_sec);
Python函数task_id, ret = acl.himpi.vpc_crop_resize(chn, source_pic, crop_resize_info, count, milli_sec)
函数功能从一张大图中扣出一张或多张子图,并缩放到指定尺寸。异步接口。
输入说明- chn:int,图片处理通道号。
- Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。
- source_pic:原始图片信息,相关约束请参见约束说明
- crop_resize_info: 抠图并缩放的图片信息数组,该数组长度与count参数值保持一致。
- count:抠图并缩放的图片数量,取值范围[1,256]。
- milli_sec:超时时间配置,单位是毫秒,取值范围如下。
- “-1”:阻塞方式。
- “0”:非阻塞方式。
- >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。
返回值说明- ret:int,错误码。
- 返回0表示成功。
- 返回非0表示失败,参见VPC图像处理返回码
- task_id:任务分配的ID,用来区分任务。

约束说明

昇腾AI处理器约束
Atlas 200/500 A2推理产品- 关于图片分辨率、图片格式、宽高对齐、内存等约束,请参见约束说明
- 当输入、输出图片格式都为ARGB8888、ABGR8888、RGBA8888、BGRA8888格式时,在经过本接口缩放处理后,A分量值会变为0。
- 若是crop的宽高与resize之后的宽高一致,则不进行缩放;resize宽高必须与输出宽高一致。

父主题: VPC图像处理接口

acl.himpi.vpc_crop_resize_paste

c函数原型hi_s32 hi_mpi_vpc_crop_resize_paste (hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_crop_resize_paste_region crop_resize_paste_info[], hi_u32 count, hi_u32 *task_id, hi_s32 milli_sec);
Python函数task_id, ret = acl.himpi.vpc_crop_resize_paste(chn, source_pic, crop_resize_paste_info, count, milli_sec)
函数功能从输入图片中抠图,对抠出的子图进行缩放后,放在用户输出图片的指定区域。异步接口。
输入说明- chn:int,图片处理通道号。
- Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。
- source_pic:原始图片信息,相关约束请参见约束说明
- crop_resize_paste_info:抠图缩放并贴图的图片信息数组,该数组长度与count参数值保持一致。
- count:抠图缩放贴图的图片数量,取值范围[1,256]。
- milli_sec:超时时间配置,单位是毫秒,取值范围如下。
- “-1”:阻塞方式。
- “0”:非阻塞方式。
- >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。
返回值说明- ret:int,错误码。
- 返回0表示成功。
- 返回非0表示失败,参见VPC图像处理返回码
- task_id:任务分配的ID,用来区分任务。
参考资源

约束说明

昇腾AI处理器约束
Atlas 200/500 A2推理产品- 关于图片分辨率、图片格式、宽高对齐、内存等约束,请参见约束说明
- 当输入、输出图片格式都为ARGB8888、ABGR8888、RGBA8888、BGRA8888格式时,在经过本接口缩放处理后,A分量值会变为0。
- 由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,贴图的顶部偏移、左侧偏移需为偶数。
- 输出图片的数量最多等于抠图区域的数量,最少是一张图片。也就是说,如果从输入图片中扣n张子图,那么贴图的目标图片可以是同一张大图,也可以是多张大图。取决于hi_vpc_crop_resize_paste_region结构体中指定的地址。
- 由于hi_vpc_crop_resize_paste_region结构体内容比较丰富,使用者可以自由组合功能。例如:若是crop的宽高与resize之后的宽高一致,则不进行缩放。

父主题: VPC图像处理接口

acl.himpi.vpc_convert_color

c函数原型hi_s32 hi_mpi_vpc_convert_color (hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_pic_info *dest_pic, hi_u32 *task_id, hi_s32 milli_sec);
Python函数task_id, ret = acl.himpi.vpc_convert_color(chn, source_pic, dest_pic, milli_sec)
函数功能转换图片的格式。异步接口。
输入说明- chn:int,图片处理通道号。
- Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。
- source_pic:原始图片信息,相关约束请参见约束说明
- dest_pic:目标图片信息。 需指定输出图片的宽、高、宽stride、高stride、内存地址、内存大小、格式等。
- 配置输出图片的宽、高时,需与输入图片的宽、高保持一致,否则会返回报错。 如果将输出图片的宽或高配置为0,则VPC内部会将输入图片的宽、高分别作为输出图片的宽、高;同时,VPC内部会按对齐要求计算宽stride、高stride,不同图片格式的对齐要求不同,请参见图片格式、宽高对齐、内存约束
- 配置输出图片的宽stride、高stride时,满足对齐要求即可,不同图片格式的对齐要求不同,请参见图片格式、宽高对齐、内存约束
- milli_sec:超时时间配置,单位是毫秒,取值范围如下。
- “-1”:阻塞方式。
- “0”:非阻塞方式。
- >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。
返回值说明- ret:int,错误码。
- 返回0表示成功。
- 返回非0表示失败,参见VPC图像处理返回码
- task_id:此次任务分配的ID,用来区分任务。

约束说明

昇腾AI处理器约束
Atlas 200/500 A2推理产品- 输入、输出图片分辨率为10*6~4096*8192(包括4096*8192)。
- 输入图片格式、输出图片格式、宽高对齐约束、内存约束请参见图片格式、宽高对齐、内存约束

父主题: VPC图像处理接口

acl.himpi.vpc_convert_color_v2

c函数原型hi_s32 hi_mpi_vpc_convert_color_v2(hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_pic_info *dest_pic, hi_csc_conf *conf, hi_u32 *task_id, hi_s32 milli_sec)
Python函数task_id, ret = acl.himpi.vpc_convert_color_v2(chn, source_pic, dest_pic, conf, milli_sec)
函数功能转换图片的格式,在acl.himpi.vpc_convert_color接口的基础上扩展功能,支持设置RGBA格式图片的透明度。异步接口。
输入说明- chn:int,图片处理通道号。
- Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。
- source_pic:原始图片信息,相关约束请参见约束说明
- dest_pic:目标图片信息。 需指定输出图片的宽、高、宽stride、高stride、内存地址、内存大小、格式等。
- 配置输出图片的宽、高时,需与输入图片的宽、高保持一致,否则会返回报错。 如果将输出图片的宽或高配置为0,则VPC内部会将输入图片的宽、高分别作为输出图片的宽、高;同时,VPC内部会按对齐要求计算宽stride、高stride,不同图片格式的对齐要求不同,请参见图片格式、宽高对齐、内存约束
- 配置输出图片的宽stride、高stride时,满足对齐要求即可,不同图片格式的对齐要求不同,请参见图片格式、宽高对齐、内存约束
- **conf:**输出图片透明度值。 透明度只针对以下图像格式有效:
text<br> PIXEL_FORMAT_ARGB_8888 = 14,<br> PIXEL_FORMAT_ABGR_8888 = 15,<br> PIXEL_FORMAT_RGBA_8888 = 16,<br> PIXEL_FORMAT_BGRA_8888 = 17,<br>
- 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(包括4096*8192)。
- 输入图片格式、输出图片格式、宽高对齐约束、内存约束请参见图片格式、宽高对齐、内存约束

父主题: VPC图像处理接口

acl.himpi.vpc_convert_color_to_yuv420

c函数原型hi_s32 hi_mpi_vpc_convert_color_to_yuv420 (hi_vpc_chn chn, const hi_vpc_pic_info *source_pic, hi_vpc_pic_info *dest_pic, hi_u32 *task_id, hi_s32 milli_sec);
Python函数task_id, ret = acl.himpi.vpc_convert_color_to_yuv420(chn, source_pic, dest_pic, milli_sec)
函数功能转换图片的格式,且转换后的格式仅支持YUV420 semi-planar/YVU420 semi-planar。异步接口。
输入说明- chn:int,图片处理通道号。
- Atlas 200/500 A2推理产品,该参数的取值范围:[0, 128),通道总数最多128。
- source_pic:原始图片信息,相关约束请参见约束说明
- dest_pic:目标图片信息。 需指定输出图片的宽、高、宽stride、高stride、内存地址、内存大小、格式等。
- 配置输出图片的宽、高时,需与输入图片的宽、高保持一致,否则会返回报错。 如果将输出图片的宽或高配置为0,则VPC内部会将输入图片的宽、高分别作为输出图片的宽、高;同时,VPC内部会按对齐要求计算宽stride、高stride,不同图片格式的对齐要求不同,请参见图片格式、宽高对齐、内存约束
- 配置输出图片的宽stride、高stride时,满足对齐要求即可,不同图片格式的对齐要求不同,请参见图片格式、宽高对齐、内存约束
- milli_sec:超时时间配置,单位是毫秒,取值范围如下。
- “-1”:阻塞方式。
- “0”:非阻塞方式。
- >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。
返回值说明- ret:int,错误码。
- 返回0表示成功。
- 返回非0表示失败,参见VPC图像处理返回码
- task_id:此次任务分配的ID,用来区分任务。

约束说明

  • 本接口兼容旧昇腾AI处理器版本上的格式转换接口,兼容场景下的输入、输出图片格式如下,兼容场景下输出的二进制相同:

    • 输入图片格式:YUV420 semi-planar/YVU420 semi-planar/YUV422 semi-planar/YVU422 semi-planar/YUV444 packed/YUV444 semi-planar/YVU444 semi-planar
    • 输出图片格式:YUV420 semi-planar/YVU420 semi-planar
    • 在以上输入图片格式、输出图片格式场景下,本接口与acl.himpi.vpc_convert_color接口输出的二进制不一致。
  • 关于输入分辨率的要求:

    版本约束
    Atlas 200/500 A2推理产品输入图片分辨率:10*6~4096*8192(包括4096*8192)。
  • 输入图片格式支持hi_pixel_format枚举值中的如下枚举项:

    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_YUV_SEMIPLANAR_444 = 5, // YUV444SP 8bit
    HI_PIXEL_FORMAT_YVU_SEMIPLANAR_444 = 6, // YVU444SP 8bit
    HI_PIXEL_FORMAT_YUYV_PACKED_422 = 7, // YUV422Packed YUYV 8bit
    HI_PIXEL_FORMAT_UYVY_PACKED_422 = 8, // YUV422Packed UYVY 8bit
    HI_PIXEL_FORMAT_YVYU_PACKED_422 = 9, // YUV422Packed YVYU 8bit
    HI_PIXEL_FORMAT_VYUY_PACKED_422 = 10, // YUV422Packed VYUY 8bit
    HI_PIXEL_FORMAT_YUV_PACKED_444 = 11, // YUV444Packed 8bit
    HI_PIXEL_FORMAT_RGB_888 = 12, // RGB888
    HI_PIXEL_FORMAT_BGR_888 = 13, // BGR888
    HI_PIXEL_FORMAT_ARGB_8888 = 14, // ARGB8888
    HI_PIXEL_FORMAT_ABGR_8888 = 15, // ABGR8888
    HI_PIXEL_FORMAT_RGBA_8888 = 16, // RGBA8888
    HI_PIXEL_FORMAT_BGRA_8888 = 17, // BGRA8888
    HI_PIXEL_FORMAT_YUV_SEMIPLANAR_440 = 1000, // YUV440SP 8bit
    HI_PIXEL_FORMAT_YVU_SEMIPLANAR_440 = 1001, // YVU440SP 8bit
  • 输出图片格式支持hi_pixel_format枚举值中的如下枚举项,设置其它图片格式无效,接口会返回失败:

    HI_PIXEL_FORMAT_YUV_SEMIPLANAR_420 = 1, // YUV420SP NV12 8bit
    HI_PIXEL_FORMAT_YVU_SEMIPLANAR_420 = 2, // YUV420SP NV21 8bit
  • 关于各图片格式的宽高对齐、内存大小约束,请参见图片格式、宽高对齐、内存约束

父主题: VPC图像处理接口

在线提单