补边
功能介绍
对输入的图像进行补边操作,输出到Image对象中。
接口调用流程
使用补边接口前,用户需准备好被补边的图片对象。
图1 图像处理(补边)接口调用流程


关键步骤说明如下:
- 调用MxInit()接口进行全局初始化。
- ImageProcessor初始化。
用户构造ImageProcessor对象,之后可以调用InitVpcChannel()初始化通道,若不调用该接口,ImageProcessor会在执行补边前自动进行通道初始化。
- 使用图片解码接口对输入图片进行解码。
根据业务对图片进行解码,生成可补边的Image对象。后续可以通过图像处理接口对图片进行处理,生成最终需要补边的Image对象。
- 构造补边参数。
根据业务要求,构造对应的输入的“padDim”(表示补边上下左右的像素值)、“Color”(补边颜色)和输出的Image。
- 调用Padding()接口对输入图像进行补边。
- 调用MxDeInit()接口对初始化的全局资源进行去初始化。
示例代码
以下为功能特性关键步骤的代码示例,不可以直接拷贝编译运行,仅供参考。
//初始化 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; } //(可选)初始化图像处理通道 imageProcessor.InitVpcChannel(); //执行补边 //补边操作后图像类 Image paddingImage; //构造补边参数 Dim padDim(0, 0, 240, 240); Color color(0, 0, 0); // Padding操作 ret = imageProcessor.Padding(decodedImage, padDim, color, BorderType::BORDER_CONSTANT, paddingImage); if (ret != APP_ERR_OK) { std::cout << "Padding failed." << std::endl; } } //去初始化 MxDeInit();
父主题: 通过接口进行图像处理(Image)