昇腾社区首页
中文
注册

TensorToImage

函数功能

将Host侧Tensor类转换为Host侧Image类,或将Device侧Tensor类转换为DVPP侧Image类。

在转换过程中,会对Image的宽进行16向上对齐、对Image的高进行2向上对齐,转换后的Image类对象将存在补边区域。

转换后的Image类可调用成员函数GetSize()返回Size类对象查看补边后的宽、高,调用成员函数GetOriginalSize()返回Size类对象查看图片原始宽、高。

例如:

  • Tensor类对象对应的图片宽、高为500、499时,转换得到的Image类对象在补边后,通过GetOriginalSize()可获得宽、高分别为500、499,通过GetSize()可获得宽、高分别为512、500。
  • Tensor类对象对应的图片宽、高为512、500时,转换得到的Image类对象不需要补边,即转换后的Image类对象宽、高仍为512、500。

函数原型

static APP_ERROR Image::TensorToImage(const Tensor& inputTensor, Image& Image, const ImageFormat& imageFormat);

参数说明

参数名

输入/输出

说明

inputTensor

输入

Tensor类,输入张量。输入需满足以下要求。

  • 元素类型需为Uint8类型。
  • Tensor的维度需为2(YUV400格式时)、3、4。
  • Tensor的宽、高、通道数需与“imageFormat”相匹配。

Image

输出

Image类,输出图片,其内存分配在DVPP侧。

imageFormat

输入

ImageFormat类,指定图片的格式,需与“inputTensor”数据所对应的图片格式相匹配。

返回参数说明

数据结构

说明

APP_ERROR

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