下载
中文
注册

Encode

函数功能

ImageProcessor类的图片编码接口,使用该接口申请的Image内存无需用户管理,由内部管理释放。

  • 输入图像的最大分辨率:8192 * 8192。
  • 输入图像的最小分辨率:32 * 32。
  • 输入图像的真实宽、高均为偶数,若为奇数,则自动向上取偶数,编码出的图片自动补边1像素。
  • 输入图像的宽:对于YUV420SP或RGB数据,对齐到16。
  • 输入图像的高:与输入图片的高度相同的数值,或为输入图片的高度向上对齐到16的数值(最小为32)。
  • 输入图像格式:
    • Atlas 200/500 A2 推理产品支持YUV_SP_420、YVU_SP_420(nv12、nv21)。
  • 输出图片格式:jpeg压缩格式的图片文件,例如*.jpg。

函数原型

APP_ERROR Encode(const Image& inputImage, const std::string savePath, const uint32_t encodeLevel = 100);
APP_ERROR Encode(const Image& inputImage, std::shared_ptr<uint8_t>& outDataPtr, uint32_t& outDataSize, const uint32_t encodeLevel = 100);

参数说明

参数名

输入/输出

说明

inputImage

输入

输入编码前的Image类。Decode接口和其他VPC接口获取的Image类可以直接作为输入。

若是用户自定义构造的Image类,则需要设置图像宽高。

encodeLevel

输入

默认为“100”,输入编码的级别[0, 100]。

savePath

输入

输入编码后保存的图片路径,文件后缀名限制为jpg

outDataPtr

输出

输出编码后的图片内存数据地址。

outDataSize

输出

输出编码后的图片内存数据大小。

返回参数说明

数据结构

说明

APP_ERROR

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