抠图
功能介绍
对输入的图像进行抠图操作,输出到Image对象中。
接口调用流程
使用抠图接口前,用户需准备好被抠图的图片对象。
图1 图像处理(抠图)接口调用流程
关键步骤说明如下:
- 调用MxInit()接口进行全局初始化。
- ImageProcessor初始化。
用户构造ImageProcessor对象,之后可以调用InitVpcChannel()初始化通道,若不调用该接口,ImageProcessor会在执行抠图前自动进行通道初始化。
- 使用图片解码接口对输入图片进行解码。
根据业务对图片进行解码,生成可抠图的Image对象。后续可以通过图像处理接口对图片进行处理,生成最终需要抠图的Image对象。
- 构造抠图Rect以及输出Image。
- 选择执行方式进行抠图,请根据实际业务选择同步抠图方式或异步抠图方式。
- 调用MxDeInit()接口对初始化的全局资源进行去初始化。
示例代码
以下为功能特性关键步骤的代码示例,不可以直接拷贝编译运行,仅供参考。
//初始化
MxInit();
{
//构造图像处理类
ImageProcessor imageProcessor(deviceId);
//(可选)初始化图像处理通道
imageProcessor.InitVpcChannel();
//图像解码操作生成Image
//解码后的图像类
Image decodedImage;
//根据图像路径进行解码
APP_ERROR ret = imageProcessor.Decode(imagePath, decodedImage);
if (ret != APP_ERR_OK) {
return 0;
}
//执行Crop
//抠图图像类
Image cropImage;
//抠图坐标信息
Rect cropRect {0, 0, 640, 512};
//抠图操作
ret = imageProcessor.Crop(decodeImage, cropRect, cropImage);
if (ret != APP_ERR_OK) {
return 0;
}
}
//去初始化
MxDeInit();
父主题: 通过接口进行图像处理(Image)