下载
中文
注册

ResizePaste

函数功能

图像缩放贴图接口,支持异步执行,使用该接口申请的Tensor内存无需用户管理,由内部管理释放。支持隐式内存分配。如果预贴图的大小不一致,需要先进行缩放。

当前仅支持Atlas 推理系列产品

  • 输入输出Tensor类支持的图像格式参考如下。
  • 只支持Atlas 推理系列产品,图像格式只支持YVU_400、RGB_888,其中输入分辨率不超过(4096 * 4096)。
  • “background”的真实分辨率范围:16 * 6 ~ 4096 * 4096。
  • 参数“PasteRects”的最大分辨率:4096 * 4096,最小分辨率:10 * 6。
  • “dst”若设置“keepMargin”“true”,输出宽自动与16对齐。若“dst”宽度为16对齐且内存为DVPP侧,则复用输入“background”内存。
  • 缩放后图片的宽高不能超出真实图片的[1/32 ,16]倍数区间。
  • 输入贴图数量“inputPics”和贴图区域“PasteRects”需一一对应,且最大值为“256”
  • “inputPics”区域在结果图片中的宽为16对齐。
  • “keepMargin”控制的为输出结果“dst”是否保留Tensor中无效的边界区域,如果“dst”复用“background”“background”也会根据“keepMargin”值判断是否保留无效边界区域。默认值为“false”
  • 输入图像格式为“YUV_400”时,最小分辨率为18 * 6。

函数原型

APP_ERROR ResizePaste(const MxBase::Tensor &background, std::vector<MxBase::Tensor> &inputPics, std::vector<MxBase::Rect> &pasteRects, MxBase::Tensor &dst, bool keepMargin = false, MxBase::AscendStream &stream = MxBase::AscendStream::DefaultStream());

参数说明

参数名

输入/输出

说明

background

输入

Tensor类,输入张量,被贴图的目标张量,支持uint8类型输入,维度支持HW(2维)、HWC(3维)张量,张量宽度支持[16,4096],高度支持[6,4096],灰度支持[18,4096],数据内存必须在Device侧或DVPP侧。

inputPics

输入

std::vector<Tensor>类,输入张量,贴在目标张量上的使用张量组,支持uint8类型输入,维度支持HW(2维)、HWC(3维)张量,张量宽度支持[10,4096],高度支持[6,4096],灰度支持[18,4096],数据内存必须在Device侧或DVPP侧。

PasteRects

输入

std::vector<Rect>类,被贴图坐标框,坐标框宽会向上16对齐,对齐后坐标框宽高不能超过背景图片“background”范围。

dst

输出

Tensor类,输出张量,贴图结果张量,当“keepMargin”“true”时结果自动16对齐。支持uint8类型输入,维度支持HW(2维)、HWC(3维)张量,张量宽度支持[10,4096],高度支持[6,4096],灰度支持[18,4096],数据内存必须在Device侧或DVPP侧。若“dst”宽度为16对齐且内存为DVPP侧,则复用输入“background”内存。

keepMargin

输入

bool类,是否保留输出“dst”中无效边界区域。

stream

输入

AscendStream类型,默认值为“AscendStream::DefaultStream()”。当参数值为默认值时,接口为同步操作,其他情况下,接口为异步操作。

返回参数说明

数据结构

说明

APP_ERROR

程序执行返回的错误码,请参考APP_ERROR说明