自定义人像分割

最近更新时间:2024-03-12 01:10:01

我的收藏

1. 接口描述

接口请求域名: bda.tencentcloudapi.com 。

在前后景分割的基础上优化多分类分割,支持对头发、五官等的分割,既作为换发型、挂件等底层技术,也可用于抠人头、抠人脸等玩法

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:SegmentCustomizedPortraitPic。
Version String 公共参数,本接口取值:2020-03-24。
Region String 公共参数,详见产品支持的 地域列表,本接口仅支持其中的: ap-beijing, ap-guangzhou, ap-shanghai 。
SegmentationOptions SegmentationOptions 此参数为分割选项,请根据需要选择自己所想从图片中分割的部分。注意所有选项均为非必选,如未选择则值默认为false, 但是必须要保证多于一个选项的描述为true。
示例值:{
Image String 图片 base64 数据,base64 编码后大小不可超过5M。
图片分辨率须小于2000*2000。
支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
示例值:base64
Url String 图片的 Url 。
Url、Image必须提供一个,如果都提供,只使用 Url。
图片分辨率须小于2000*2000 ,图片 base64 编码后大小不可超过5M。
图片存储于腾讯云的Url可保障更高下载速度和稳定性,建议图片存储于腾讯云。
非腾讯云存储的Url速度和稳定性可能受一定影响。
支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。
示例值:test.jpg

3. 输出参数

参数名称 类型 描述
PortraitImage String 根据指定标签分割输出的透明背景人像图片的 base64 数据。
示例值:base64
MaskImage String 指定标签处理后的Mask。一个通过 Base64 编码的文件,解码后文件由 Float 型浮点数组成。这些浮点数代表原图从左上角开始的每一行的每一个像素点,每一个浮点数的值是原图相应像素点位于人体轮廓内的置信度(0-1)转化的灰度值(0-255)
示例值:base64
ImageRects Array of ImageRect 坐标信息。
注意:此字段可能返回 null,表示取不到有效值。
示例值:[{
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 调用失败示例

输入示例

POST / HTTP/1.1
Host: bda.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: SegmentCustomizedPortraitPic
<公共请求参数>

{
    "Url": "IamNotAUrl",
    "SegmentationOptions": {
        "Background": false
    }
}

输出示例

{
    "Response": {
        "Error": {
            "Code": "InvalidParameterValue.UrlIllegal",
            "Message": "URL格式不合法。"
        },
        "RequestId": "46ed6f32-549f-4377-8116-2d55e4574528"
    }
}

示例2 调用成功示例

输入示例

POST / HTTP/1.1
Host: bda.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: SegmentCustomizedPortraitPic
<公共请求参数>

{
    "Url": "test.jpg",
    "SegmentationOptions": {
        "Head": true
    }
}

输出示例

{
    "Response": {
        "PortraitImage": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHJCAYAAAAVcogaAAAgAElEQVR4AdThgZZlRRYYybpH3ELr/f/fNnm2D5FMVCcMXJVUdOvJzIXxGxUVlUNFZa3FoXKpXPqNd2aGo6LiqKiA4YXAoKLycqGicizkUpHfqRyuxVfJHzzEkVBxVFx7+K5ihIpriGOAiqPiGuKqOCquiqviqPgrFUfFVfHfonxS/pLKoXKttXin4h15T+VSOVQuFZW1Fmst1lqowHDsvThUVHBQUTmW37gqjoprZnhv8bNUDpWj4qhQOSoqZoaKimOKY2aomBkqKipUroqrAgcViL+j8vekEVj871J5R+VnVPwMlaOi4lBRgeHb64XGWou9N3tv1lqstVDZe6Oy92bvzVqLtRYqxyTHzDAzPM/D8zw8z0PF8zwcM0PFzFAxMxwzUHFUHCqHispVcVT8lYqr4qioqKj4aiE8IL9TOVQulb+TwzjkcFRcFcfMcFUcFd/14p2KQ+UrlWO/fkFFRWWthcpai6NCRUVF5auRT478TiqM38TMgB8wgR8c8cGK3wzw4lhrsffG...",
        "MaskImage": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAALCAHJAoABAREA/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx...",
        "ImageRects": [
            {
                "Y": 1,
                "X": 2,
                "Height": 3,
                "Width": 4,
                "Label": "Head"
            }
        ],
        "RequestId": "07d71af0-d3af-4d36-8217-1e6836f38007"
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation.DownloadError 文件下载失败。
FailedOperation.ImageDecodeFailed 图片解码失败。
FailedOperation.ImageDownloadError 图片下载错误。
FailedOperation.ImageFacedetectFailed 人脸检测失败。
FailedOperation.ImageNotSupported 不支持的图片文件。
FailedOperation.ImageResolutionExceed 图片分辨率过大。
FailedOperation.ImageResolutionInsufficient 图片分辨率过小。
FailedOperation.ImageSizeExceed base64编码后的图片数据过大。
FailedOperation.InnerError 服务内部错误,请重试。
FailedOperation.ProfileNumExceed 人像数过多。
FailedOperation.RequestEntityTooLarge 整个请求体太大(通常主要是图片)。
FailedOperation.RequestTimeout 后端服务超时。
FailedOperation.RpcFail RPC请求失败,一般为算法微服务故障。
FailedOperation.SegmentFailed 人像分割失败。
FailedOperation.ServerError 算法服务异常,请重试。
FailedOperation.UnKnowError 内部错误。
InvalidParameter.InvalidParameter 参数不合法。
InvalidParameterValue.NoFaceInPhoto 图片中没有人脸。
InvalidParameterValue.UrlIllegal URL格式不合法。
LimitExceeded.TooLargeFileError 文件太大。
ResourceUnavailable.InArrears 账号已欠费。
ResourceUnavailable.NotExist 计费状态未知,请确认是否已在控制台开通服务。
UnsupportedOperation.UnknowMethod 未知方法名。