函数:dvpp_vpc_batch_crop_resize_paste_async

C函数原型

aclError acldvppVpcBatchCropResizePasteAsync(acldvppChannelDesc *channelDesc,

acldvppBatchPicDesc *srcBatchPicDescs,

uint32_t *roiNums,

uint32_t size,

acldvppBatchPicDesc *dstBatchPicDescs,

acldvppRoiConfig *cropAreas[],

acldvppRoiConfig *pasteAreas[],

acldvppResizeConfig *resizeConfig,

aclrtStream stream)

Python函数

ret = acl.media.dvpp_vpc_batch_crop_resize_paste_async(dvpp_channel_desc, src_batch_pic_descs, roi_nums_list,dst_batch_pic_descs, crop_area_list,paste_area_list,resize_config, stream)

函数功能

按指定区域从一张或多张输入图片中抠出一个或多个子图,再将抠的子图贴到目标图片的指定位置,作为输出图片。异步接口。

当pasteArea的宽高与cropArea的宽高不一致时会对图片做一次缩放操作,按照resizeConfig处配置的缩放算法。

输入说明

dvpp_channel_desc:int,指定通道描述信息,与调用acl.media.dvpp_create_channel接口创建通道时指定的dvpp_channel_desc保持一致。

src_batch_pic_descs:int,指定批量输入图片描述信息。

  • 调用acl.media.dvpp_create_batch_pic_desc接口创建批量图片描述信息。
  • 调用acl.media.dvpp_get_pic_desc接口获取指定图片的图片描述信息。
  • 调用acl.media.dvpp_set_pic_desc系列接口设置图片描述参数(例如,内存地址、内存大小、图片格式、宽、高等)。

    输入图片分辨率、图像格式、width_stride对齐要求、height_stride对齐要求等,请参见约束说明

roi_nums_list:list,指定每个输入图片的抠图数量,当前最大抠图数量为256。

列表总和小于等于256,与dst_batch_pic_descs中的batch_size值保持一致。

roi_nums_list[0] + ... + roi_nums_list[size - 1] <= 256

dst_batch_pic_descs:int,指定批量输出图片描述信息。

  • 调用acl.media.dvpp_create_batch_pic_desc接口创建批量图片描述信息。
  • 调用acl.media.dvpp_get_pic_desc接口获取指定图片的图片描述信息。
  • 调用acl.media.dvpp_set_pic_desc系列接口设置图片描述参数(例如,内存地址、内存大小、图片格式、宽、高等)。

    输出图片分辨率、图像格式、width_stride对齐要求、height_stride对齐要求等,请参见约束说明

crop_area_list:list,抠图区域位置数组。

  • 调用acl.media.dvpp_create_roi_config接口创建区域位置数据。
  • crop_area_list、paste_area_list中元素个数与dst_batch_pic_descs中的batch_size值相等。

paste_area_list:list,贴图区域位置。

  • 调用acl.media.dvpp_create_roi_config接口创建区域位置数据。
  • 贴图区域左偏移需要16对齐。
  • crop_area_list、paste_area_list中元素个数与dst_batch_pic_descs中的batch_size值相等。

resize_config:int,指定图片缩放配置数据。

需提前调用acl.media.dvpp_create_resize_config接口创建图片缩放配置数据。

stream:int,指定Stream。

返回值说明

ret:int,错误码。

  • 返回0表示任务下发成功。
  • 返回非0表示任务下发失败。

约束说明

注意事项