acldvppVpcBatchCropResizeMakeBorderAsync
函数功能
支持从一张或多张输入图片中抠出一张或多张子图,对每个子图进行缩放,扩边填充后输出至目标图像内存地址。异步接口。
Atlas 200/300/500 推理产品,当前版本不支持该接口。
Atlas 训练系列产品,当前版本不支持该接口。
约束说明
- VPC功能中,关于图片分辨率、图片格式、宽高对齐、内存等约束,请参见约束说明。
- 使用本接口实现等比例缩放功能时,相关的描述及约束请参见抠图、贴图约束。
- 由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,需注意:
- 对于YUV420SP输出格式,上下左右填充的尺寸建议为偶数;
- 对于YUV422SP输出格式,左右填充的尺寸建议为偶数。
函数原型
aclError acldvppVpcBatchCropResizeMakeBorderAsync(acldvppChannelDesc *channelDesc,
acldvppBatchPicDesc *srcBatchPicDescs,
uint32_t *roiNums,
uint32_t size,
acldvppBatchPicDesc *dstBatchPicDescs,
acldvppRoiConfig *cropAreas[],
acldvppBorderConfig *borderCfgs[],
acldvppResizeConfig *resizeConfig,
aclrtStream stream)
参数说明
参数名 |
输入/输出 |
说明 |
---|---|---|
channelDesc |
输入 |
通道描述信息的指针。 与调用acldvppCreateChannel接口创建通道时指定的channelDesc保持一致。 |
srcBatchPicDescs |
输入 |
批量输入图片描述信息的指针。
|
roiNums |
输入 |
每个输入图片抠图数量的指针,当前最大抠图数量为256。 roiNums为数组,数组总和小于等于256,与dstBatchPicDescs结构体中的batchSize值保持一致。 roiNums[0]+...+roiNums[size-1] <= 256 |
size |
输入 |
表示roiNums数组中的元素个数,个数小于等于256。 |
dstBatchPicDescs |
输入&输出 |
批量输出图片描述信息的指针。 dstBatchPicDescs参数作为输入时,需要用户调用如下接口:
|
cropAreas |
输入 |
抠图区域位置的指针数组。 需提前调用acldvppCreateRoiConfig接口创建区域位置数据。 cropAreas、borderCfgs数组中的元素个数与dstBatchPicDescs结构体中的batchSize值相等。 |
borderCfgs |
输入 |
扩边填充配置的指针数组。 borderCfgs数组中的元素与cropAreas数组中的元素一一对应。 扩边填充配置参数中的borderType参数值仅支持BORDER_CONSTANT和BORDER_REPLICATE。 |
resizeConfig |
输入 |
图片缩放配置数据的指针。 需提前调用acldvppCreateResizeConfig接口创建图片缩放配置数据。 VPC进行缩放处理时,缩放后的宽/高是输出图片的宽/高减去扩边的值。 |
stream |
输入 |
指定Stream。 |
返回值说明
返回0表示任务下发成功,返回非0表示任务下发失败。