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说明。 |
父主题: ImageProcessor