下载
中文
注册

抠图贴图

功能介绍

对输入的图像进行抠图并粘贴到背景图片中的操作,输出到Image对象中。

接口调用流程

使用抠图贴图接口前,用户需准备好被抠图以及被粘贴的图片对象。

图1 图像处理(抠图贴图)接口调用流程

关键步骤说明如下:

  1. 调用mx_init()接口进行全局初始化。
  2. ImageProcessor初始化。

    用户构造ImageProcessor对象,构造时需用户指定设备ID。

  3. 使用图片解码接口对输入图片进行解码。

    根据业务对图片进行解码,生成可抠图贴图的Image对象。后续可以通过图像处理接口对图片进行处理,生成最终需要抠图贴图的Image对象。

  4. 构造抠图贴图参数和输出Image。
    1. 根据业务要求,设置被抠图片的矩阵并设置粘贴图片位置的矩阵,二者大小不一样时将自动进行缩放。
    2. 构造输出图片的背景图片,使用Image构造函数构造被粘贴图片或其他非空图片作为输出。
  5. 调用crop_paste对输入图片进行抠图并将图片粘贴至指定位置。

示例代码

以下为功能特性关键步骤的代码示例,不可以直接拷贝运行,仅供参考。
from mindx.sdk import base  
from mindx.sdk.base import ImageProcessor, Rect, Image
# 图像解码  
# 初始化ImageProcessor对象  
imageProcessor = ImageProcessor(device_id)  
image_path = "image_data/test_image.jpg"  
# 读取图片路径进行解码,解码格式为nv12(YUV_SP_420)  
decoded_image = imageProcessor.decode(image_path, base.nv12)  
    
# 图像抠图并贴图  
crop_paste_para = (Rect(300, 100, 550, 350), Rect(100, 100, 1500, 1500))  
imageProcessor.crop_paste(decoded_image , crop_paste_para, paste_image)