图片编码
功能介绍
将接口输出的Image对象编码为JPG格式的图片内存或保存到指定的图片路径。
接口调用流程
用户需提前准备好待编码的Image对象,可以通过图片解码以及图像处理接口(抠图、缩放、补边等操作对应接口)输出,输出到本地图片或者内存中。
图片编码调用流程参考如下:
图1 图片编码接口调用流程


关键步骤说明如下:
示例代码
以下为功能特性关键步骤的代码示例,不可以直接拷贝编译运行,仅供参考。
//初始化
MxInit();
{
//构造图像处理类
ImageProcessor imageProcessor(deviceId);
//图像解码/图像处理操作生成Image
//解码后的图像类
Image decodedImage;
//根据图像路径进行解码
APP_ERROR ret = imageProcessor.Decode(imagePath, decodedImage);
if (ret != APP_ERR_OK) {
std::cout << "Decode failed." << std::endl;
}
//图像处理操作后图像类
Image resizedImage;
//图像处理操作(缩放)
ret = imageProcessor.Resize(decodedImage, Size(416, 416), resizedImage, Interpolation::HUAWEI_HIGH_ORDER_FILTER);
if (ret != APP_ERR_OK) {
std::cout << "Resize failed." << std::endl;
}
//(可选)初始化编码通道JpegEncodeChnConfig jpegEncodeChnConfig;
JpegEncodeChnConfig.maxPicWidth = 4096;
JpegEncodeChnConfig.maxPicHeight = 4096;
imageProcessor.InitJpegEncodeChannel(JpegEncodeChnConfig);
//图像编码
ret = imageProcessor.Encode(resizedImage,"encode.jpg");
if (ret != APP_ERR_OK) {
std::cout << "Encode failed." << std::endl;
}
}
//去初始化
MxDeInit();
父主题: 通过接口进行图像处理(Image)