Skip to main content

acldvppVpcBatchCropAndPasteAsync

acldvppVpcCropAndPasteAsync

函数功能

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

当pasteArea的宽高与cropArea的宽高不一致时会对图片做一次缩放操作。

Atlas 200/500 A2推理产品,默认缩放算法为“业界通用的Bilinear算法”。

约束说明

版本约束
Atlas 200/500 A2推理产品- 关于图片分辨率、图片格式、宽高对齐、内存等总体约束,请参见图片格式、宽高对齐、内存约束
- 由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,贴图的顶部偏移、左侧偏移建议为偶数。

函数原型

aclError acldvppVpcCropAndPasteAsync(acldvppChannelDesc *channelDesc,

acldvppPicDesc *inputDesc,

acldvppPicDesc *outputDesc,

acldvppRoiConfig *cropArea,

acldvppRoiConfig *pasteArea,

aclrtStream stream)

参数说明

参数名输入/输出说明
channelDesc输入通道描述信息的指针。 与调用acldvppCreateChannel接口创建通道时指定的channelDesc保持一致。
inputDesc输入输入图片信息的指针。
- 调用acldvppCreatePicDesc接口创建图片描述信息。
- 调用acldvppSetPicDesc系列接口设置图片描述参数(例如,内存地址、内存大小、图片格式、宽、高等)。
outputDesc输入&输出输出图片信息的指针。 outputDesc参数作为输入时,需要用户调用如下接口:
- 调用acldvppCreatePicDesc接口创建图片描述信息。
- 调用acldvppSetPicDesc系列接口设置图片描述参数(例如,内存地址、内存大小、图片格式、宽、高等)。
cropArea输入抠图区域位置的指针。 调用acldvppCreateRoiConfig接口创建区域位置数据。
pasteArea输入贴图区域位置的指针。
- 调用acldvppCreateRoiConfig接口创建区域位置数据。
- 贴图区域左偏移需要16对齐。
stream输入指定Stream。

返回值说明

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

父主题: VPC功能

acldvppVpcCropResizePasteAsync

函数功能

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

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

约束说明

版本约束
Atlas 200/500 A2推理产品- 关于图片分辨率、图片格式、宽高对齐、内存等总体约束,请参见图片格式、宽高对齐、内存约束
- 由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,贴图的顶部偏移、左侧偏移建议为偶数。
- 当输入、输出图片格式都为ARGB8888、ABGR8888、RGBA8888、BGRA8888格式时,在经过本接口缩放处理后,A分量值会变为0。

函数原型

aclError acldvppVpcCropResizePasteAsync(****acldvppChannelDesc *channelDesc,

acldvppPicDesc *inputDesc,

acldvppPicDesc *outputDesc,

acldvppRoiConfig *cropArea,

acldvppRoiConfig *pasteArea,

acldvppResizeConfig *resizeConfig,

aclrtStream stream)

参数说明

参数名输入/输出说明
channelDesc输入通道描述信息的指针。 与调用acldvppCreateChannel接口创建通道时指定的channelDesc保持一致。
inputDesc输入输入图片信息的指针。
- 调用acldvppCreatePicDesc接口创建图片描述信息。
- 调用acldvppSetPicDesc系列接口设置图片描述参数(例如,内存地址、内存大小、图片格式、宽、高等)。
outputDesc输入&输出输出图片信息的指针。 outputDesc参数作为输入时,需要用户调用如下接口:
- 调用acldvppCreatePicDesc接口创建图片描述信息。
- 调用acldvppSetPicDesc系列接口设置图片描述参数(例如,内存地址、内存大小、图片格式、宽、高等)。
cropArea输入抠图区域位置的指针。 调用acldvppCreateRoiConfig接口创建区域位置数据。
pasteArea输入贴图区域位置的指针。
- 调用acldvppCreateRoiConfig接口创建区域位置数据。
- 贴图区域左偏移需要16对齐。
resizeConfig输入图片缩放配置数据的指针。 需提前调用acldvppCreateResizeConfig接口创建图片缩放配置数据。
stream输入指定Stream。

返回值说明

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

参考资源

接口调用示例,参见抠图缩放(一图一框)示例代码

父主题: VPC功能

acldvppVpcBatchCropAndPasteAsync

函数功能

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

当pasteArea的宽高与cropArea的宽高不一致时会对图片做一次缩放操作。

Atlas 200/500 A2推理产品,默认缩放算法为“业界通用的Bilinear算法”。

约束说明

版本约束
Atlas 200/500 A2推理产品- 关于图片分辨率、图片格式、宽高对齐、内存等总体约束,请参见图片格式、宽高对齐、内存约束
- 由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,贴图的顶部偏移、左侧偏移建议为偶数。

函数原型

aclError acldvppVpcBatchCropAndPasteAsync (****acldvppChannelDesc *channelDesc,

acldvppBatchPicDesc *srcBatchPicDescs,

uint32_t *roiNums,

uint32_t size,

acldvppBatchPicDesc *dstBatchPicDescs,

acldvppRoiConfig *cropAreas[],

acldvppRoiConfig *pasteAreas[],

aclrtStream stream)

参数说明

参数名输入/输出说明
channelDesc输入通道描述信息的指针。 与调用acldvppCreateChannel接口创建通道时指定的channelDesc保持一致。
srcBatchPicDescs输入指定批量输入图片描述信息的指针。
- 调用acldvppCreateBatchPicDesc接口创建批量图片描述信息。
- 调用acldvppGetPicDesc接口获取指定图片的图片描述信息。
- 调用acldvppSetPicDesc系列接口设置图片描述参数(例如,内存地址、内存大小、图片格式、宽、高等)。
roiNums输入每个输入图片抠图数量的指针,当前最大抠图数量为256。 roiNums为数组,数组总和小于等于256,与dstBatchPicDescs结构体中的batchSize值保持一致。 roiNums[0]+...+roiNums[size-1] <= 256
size输入表示roiNums数组中的元素个数,个数小于等于256。
dstBatchPicDescs输入&输出批量输出图片描述信息的指针。 dstBatchPicDescs参数作为输入时,需要用户调用如下接口:
- 调用acldvppCreateBatchPicDesc接口创建批量图片描述信息。
- 调用acldvppGetPicDesc接口获取指定图片的图片描述信息。
- 调用acldvppSetPicDesc系列接口设置图片描述参数(例如,内存地址、内存大小、图片格式、宽、高等)。
cropAreas输入抠图区域位置的指针数组。
- 调用acldvppCreateRoiConfig接口创建区域位置数据。
- cropAreas、pasteAreas数组中的元素个数与dstBatchPicDescs结构体中的batchSize值相等。
pasteAreas输入贴图区域位置的指针数组。
- 调用acldvppCreateRoiConfig接口创建区域位置数据。
- 贴图区域左偏移需要16对齐。
- cropAreas、pasteAreas数组中的元素个数与dstBatchPicDescs参数中的batchSize值相等。
stream输入指定Stream。

返回值说明

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

参考资源

接口调用示例,参见抠图贴图(一图多框)示例代码

父主题: VPC功能

acldvppVpcBatchCropResizePasteAsync

函数功能

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

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

约束说明

版本约束
Atlas 200/500 A2推理产品- 关于图片分辨率、图片格式、宽高对齐、内存等总体约束,请参见图片格式、宽高对齐、内存约束
- 由于YUV格式图像下采样约束,当输出图片格式为YUV420SP或YUV422SP格式时,贴图的顶部偏移、左侧偏移建议为偶数。
- 当输入、输出图片格式都为ARGB8888、ABGR8888、RGBA8888、BGRA8888格式时,在经过本接口缩放处理后,A分量值会变为0。

函数原型

aclError acldvppVpcBatchCropResizePasteAsync(****acldvppChannelDesc *channelDesc,

acldvppBatchPicDesc *srcBatchPicDescs,

uint32_t *roiNums,

uint32_t size,

acldvppBatchPicDesc *dstBatchPicDescs,

acldvppRoiConfig *cropAreas[],

acldvppRoiConfig *pasteAreas[],

acldvppResizeConfig *resizeConfig,

aclrtStream stream)

参数说明

参数名输入/输出说明
channelDesc输入通道描述信息的指针。 与调用acldvppCreateChannel接口创建通道时指定的channelDesc保持一致。
srcBatchPicDescs输入批量输入图片描述信息的指针。
- 调用acldvppCreateBatchPicDesc接口创建批量图片描述信息。
- 调用acldvppGetPicDesc接口获取指定图片的图片描述信息。
- 调用acldvppSetPicDesc系列接口设置图片描述参数(例如,内存地址、内存大小、图片格式、宽、高等)。
roiNums输入每个输入图片抠图数量的指针,当前最大抠图数量为256。 roiNums为数组,数组总和小于等于256,与dstBatchPicDescs结构体中的batchSize值保持一致。 roiNums[0]+...+roiNums[size-1] <= 256
size输入表示roiNums数组中的元素个数,个数小于等于256。
dstBatchPicDescs输入&输出批量输出图片描述信息的指针。 dstBatchPicDescs参数作为输入时,需要用户调用如下接口:
- 调用acldvppCreateBatchPicDesc接口创建批量图片描述信息。
- 调用acldvppGetPicDesc接口获取指定图片的图片描述信息。
- 调用acldvppSetPicDesc系列接口设置图片描述参数(例如,内存地址、内存大小、图片格式、宽、高等)。
cropAreas输入抠图区域位置的指针数组。
- 调用acldvppCreateRoiConfig接口创建区域位置数据。
- cropAreas、pasteAreas数组中的元素个数与dstBatchPicDescs结构体中的batchSize值相等。
pasteAreas输入贴图区域位置的指针数组。
- 调用acldvppCreateRoiConfig接口创建区域位置数据。
- 贴图区域左偏移需要16对齐。
- cropAreas、pasteAreas数组中的元素个数与dstBatchPicDescs参数中的batchSize值相等。
resizeConfig输入图片缩放配置数据的指针。 需提前调用acldvppCreateResizeConfig接口创建图片缩放配置数据。
stream输入指定Stream。

返回值说明

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

父主题: VPC功能

acldvppVpcBatchCropResizeMakeBorderAsync

函数功能

支持从一张或多张输入图片中抠出一张或多张子图,对每个子图进行缩放,扩边填充后输出至目标图像内存地址。异步接口。

约束说明

版本约束
Atlas 200/500 A2推理产品- 关于图片分辨率、图片格式、宽高对齐、内存等总体约束,请参见图片格式、宽高对齐、内存约束
- 当输入、输出图片格式都为ARGB8888、ABGR8888、RGBA8888、BGRA8888格式时,在经过本接口缩放处理后,A分量值会变为0。
- 使用本接口实现等比例缩放功能时,相关的描述及约束请参见抠图、贴图约束
- 由于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输入批量输入图片描述信息的指针。
- 调用acldvppCreateBatchPicDesc接口创建批量图片描述信息。
- 调用acldvppGetPicDesc接口获取指定图片的图片描述信息。
- 调用acldvppSetPicDesc系列接口设置图片描述参数(例如,内存地址、内存大小、图片格式、宽、高等)。
roiNums输入每个输入图片抠图数量的指针,当前最大抠图数量为256。 roiNums为数组,数组总和小于等于256,与dstBatchPicDescs结构体中的batchSize值保持一致。 roiNums[0]+...+roiNums[size-1] <= 256
size输入表示roiNums数组中的元素个数,个数小于等于256。
dstBatchPicDescs输入&输出批量输出图片描述信息的指针。 dstBatchPicDescs参数作为输入时,需要用户调用如下接口:
- 调用acldvppCreateBatchPicDesc接口创建批量图片描述信息。
- 调用acldvppGetPicDesc接口获取指定图片的图片描述信息。
- 调用acldvppSetPicDesc系列接口设置图片描述参数(例如,内存地址、内存大小、图片格式、宽、高等)。
cropAreas输入抠图区域位置的指针数组。 需提前调用acldvppCreateRoiConfig接口创建区域位置数据。 cropAreas、borderCfgs数组中的元素个数与dstBatchPicDescs结构体中的batchSize值相等。
borderCfgs输入扩边填充配置的指针数组。 borderCfgs数组中的元素与cropAreas数组中的元素一一对应。 扩边填充配置参数中的borderType参数值仅支持BORDER_CONSTANT和BORDER_REPLICATE。
resizeConfig输入图片缩放配置数据的指针。 需提前调用acldvppCreateResizeConfig接口创建图片缩放配置数据。本接口不支持“自研的高阶滤波算法”。 VPC进行缩放处理时,缩放后的宽/高是输出图片的宽/高减去扩边的值。
stream输入指定Stream。

返回值说明

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

父主题: VPC功能

acldvppVpcConvertColorAsync

函数功能

转换图片的格式,输出图片的宽高须与输入图片的宽高一致。异步接口。

约束说明

函数原型

aclError acldvppVpcConvertColorAsync(****acldvppChannelDesc *channelDesc,

acldvppPicDesc *inputDesc,

acldvppPicDesc *outputDesc,

aclrtStream stream)

参数说明

参数名输入/输出说明
channelDesc输入通道描述信息的指针。 与调用acldvppCreateChannel接口创建通道时指定的channelDesc保持一致。
inputDesc输入输入图片信息的指针。
- 调用acldvppCreatePicDesc接口创建图片描述信息。
- 调用acldvppSetPicDesc系列接口设置图片描述参数(例如,内存地址、内存大小、图片格式、宽、高等)。
outputDesc输入&输出输出图片信息的指针。 outputDesc参数作为输入时,需要用户调用如下接口:
- 调用acldvppCreatePicDesc接口创建图片描述信息。
- 调用acldvppSetPicDesc系列接口设置图片描述参数(例如,内存地址、内存大小、图片格式、宽、高等)。 需指定输出图片的宽、高、宽stride、高stride、内存地址、内存大小、格式等。
- 配置输出图片的宽、高时,需与输入图片的宽、高保持一致,否则会返回报错。 如果将输出图片的宽或高配置为0,则VPC内部会将输入图片的宽、高分别作为输出图片的宽、高;同时,VPC内部会按对齐要求计算宽stride、高stride,不同图片格式的对齐要求不同,请参见图片格式、宽高对齐、内存约束
- 配置输出图片的宽stride、高stride时,满足对齐要求即可,不同图片格式的对齐要求不同,请参见图片格式、宽高对齐、内存约束
stream输入指定Stream。

返回值说明

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

参考资源

接口调用示例,参见格式转换示例代码

父主题: VPC功能

在线提单