文档
注册

Decode

函数功能

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

  • JPG/JPEG格式:
    • JPG/JPEG输入图片的最大分辨率:8192 * 8192,其中 RGB_888, BGR_888 格式只支持至 4096*4096。
    • JPG/JPEG输入图片的最小分辨率:32 * 32。
    • 输出解码后的图片及“outputImage”的数据类型目前仅支持YUV_SP_420YVU_SP_420两种图像格式,Atlas 推理系列产品(Ascend 310P AI处理器额外支持RGB_888BGR_888格式的解码。
    • 输出图片的宽。
      • Atlas 200/300/500 推理产品对齐到128(即宽度为128的倍数)。
      • Atlas 200I/500 A2 推理产品对齐到128(即宽度为128的倍数),在对齐操作前,接口会向下2对齐操作,例如:图片原图宽为1023 ,在进行Decode接口解码处理后,通过GetSize()获得的值为1024,通过GetOriginalSize()获得的值为1022。
      • Atlas 推理系列产品(Ascend 310P AI处理器对齐到64(即宽度为64的倍数),RGB_888BGR_888 格式对齐到16,解码接口自动对齐。
    • 输出图片的高:对齐到16(即高度为16的倍数),解码接口自动对齐。
      对于Atlas 200I/500 A2 推理产品,在对齐操作前,接口会向下2对齐操作,例如:图片原图高为683,在进行Decode接口解码处理后,通过GetSize()获得的值为688,通过GetOriginalSize()获得的值为682。
      JPG/JPEG输入图片格式约束:
      • 只支持Huffman编码,码流的subsample为444/422/420/400/440。
      • 不支持算术编码。
      • 不支持渐进JPEG格式。
      • 不支持JPEG2000格式。
  • PNG格式:
    • PNG输入图片的最大分辨率:4096 * 4096。
    • PNG输入图片的最小分辨率:32 * 32。
    • 输出图片的宽:对齐到128(即宽度为128的倍数),解码接口自动对齐。
    • 输出图片的高:对齐到16(即高度为16的倍数),解码接口自动对齐。

函数原型

APP_ERROR ImageProcessor::Decode(const std::shared_ptr<uint8_t> dataPtr, const uint32_t dataSize, Image& outputImage, const ImageFormat decodeFormat = ImageFormat::YUV_SP_420);
APP_ERROR ImageProcessor::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”仅在输入图片通道是RGB/GRAY格式时,配置BGR_888会生效;其余情况设置该参数无效,将按PNG源格式进行解码,例如:
    • PNG图片通道为RGB/GRAY格式,则解码输出图片格式为RGB_888。
    • PNG图片通道为RGBA/AGRAY格式,则解码输出图片格式为RGBA_8888。

inputPath

输入

输入待解码的图片路径。

outputImage

输出

输出解码后的Image类。

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

返回参数说明

数据结构

说明

APP_ERROR

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

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词