人像抠图

最近更新时间:2025-06-17 20:30:52

我的收藏

简介

本文档提供关于人像抠图的相关 API 概览以及 SDK 示例代码。
API
操作描述
人像抠图

功能说明

腾讯云数据万象通过 AIPortraitMatting 接口检测图片中的人像主体信息,智能分割图像背景,生成只包含人像主体信息的图片,支持持久化、云上处理及下载时处理。

示例代码

from qcloud_cos import AIRecognitionClient
from qcloud_cos import CosConfig

# 替换为用户的 SecretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_id = os.environ["SECRETID"]
# 替换为用户的 SecretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
secret_key = os.environ["SECRETKEY"]
# 替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
region = 'ap-chongqing'
# COS 支持的所有 region 列表参见 https://www.qcloud.com/document/product/436/6224
# 如果使用永久密钥不需要填入 token,如果使用临时密钥需要填入,临时密钥生成和使用指引参见 https://cloud.tencent.com/document/product/436/14048
token = None
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token)
client = AIRecognitionClient(config)
bucket_name = 'test-1250000000'

def cos_ai_portrait_matting():
# 人像抠图
response, data = client.cos_ai_portrait_matting(
Bucket=bucket_name, ObjectKey="relian.jpeg", # DetectUrl="https://test-125000000.cos.ap-chongqing.myqcloud.com/test.jpeg" CenterLayout=1, PaddingLayout="10x10", Stream=True
)
data.get_stream_to_file('result.jpg')
print(response)
return response, data

参数说明

调用 cos_ai_portrait_matting 函数,具体请求参数如下:
参数名称
参数描述
类型
是否必填
Bucket
存储桶名称
String
ObjectKey
设置对象名称,ObjectKey 与 DetectUrl 中必传一个
String
DetectUrl
您可以通过填写 detect-url 处理任意公网可访问的图片链接。不填写 detect-url 时,后台会默认处理 ObjectKey ,填写了 detect-url 时,后台会处理 detect-url 链接,无需再填写 ObjectKey。 detect-url 示例:http://www.example.com/abc.jpg,ObjectKey 与 DetectUrl 中必传一个
String
CenterLayout
抠图主体居中显示;值为1时居中显示,值为0不做处理,默认为0
Integer
PaddingLayout
将处理后的图片四边进行留白,形式为 padding-layout = <dx> x <dy>,左右两边各进行 dx 像素的留白,上下两边各进行 dy 像素的留白,例如:padding-layout = 20 x 10。默认不进行留白操作,dx、dy 最大值为1000像素。
String
Stream
是否以流式方式接收响应内容,默认为 True
Boolean

返回结果说明

response 为响应头, 数据类型为 dict。 data 为人像抠图结果。

response内容

返回公共响应头部,详情请参见 公共响应头部 文档。

响应体data

[pic-content]