Decode

函数功能

ImageProcessor类的图片解码接口,使用该接口申请的Image内存无需用户管理,由内部管理释放。仅支持以Host侧申请的内存作为解码接口的输入。输入图片内存的数据类型目前支持JPEG和PNG两种格式。

函数原型

APP_ERROR Decode(const std::shared_ptr<uint8_t> dataPtr, const uint32_t dataSize,
                 Image& outputImage, const ImageFormat decodeFormat = ImageFormat::YUV_SP_420);
APP_ERROR Decode(const std::string inputPath, Image& outputImage,
                 const ImageFormat decodeFormat = ImageFormat::YUV_SP_420);

参数说明

参数名

输入/输出

说明

dataPtr

输入

输入待解码图片数据的内存地址。解码前图像数据内存地址需要用户进行管理。

dataSize

输入

输入待解码图片数据的内存大小。需要与“dataPtr”的实际内存大小相符。

  • 用户提供的“dataSize”无法完整读取图片文件头信息,则会返回异常。
  • 用户提供的“dataSize”大于文件头信息并且小于实际内存大小,则会根据“dataSize”进行部分解码。

  • 用户提供的“dataSize”大于实际内存大小,则以图片文件结束符为准。

decodeFormat

输入

输入解码后图片的格式。

  • JPG/JPEG图片“decodeFormat”默认参数为“YUV_SP_420”,可自行设置该参数。
  • PNG图片无需设置“decodeFormat”参数,按图片源格式进行解码。

inputPath

输入

输入待解码的图片路径。

outputImage

输出

输出解码后的Image类。

图片宽高和对齐后的宽高会自动合入进“outputImage”内。

返回参数说明

数据结构

说明

APP_ERROR

程序执行返回的错误码,请参考“MxBase/ErrorCode/ErrorCode.h”文件。