[python]百度AI接口实现人像抠图换背景色

本文介绍了如何利用Python结合百度AI接口实现人像抠图并更换背景色。首先,详细讲解了注册百度AI账号及创建人像分割应用的步骤。接着,展示了代码实现的各个部分,包括库的引入、获取Access Token、核心代码实现等,以及在运行程序前需要注意的事项。最后,作者分享了完成这个功能的喜悦,尽管过程中遇到一些小问题,如图片大小限制和路径处理,但最终成功实现了人像背景替换功能。
摘要由CSDN通过智能技术生成


前言

之前因为业务原因,需要大量制作证件照,在网上找了许多文章,没找到合适的,所以借鉴网上一些资料,自己做了一个证件照背景换色。


最终效果

原图
原图
效果图效果图

一、注册百度AI账号、创建人像分割应用

  1. 百度人像分割主页:https://ai.baidu.com/tech/body/seg 按步骤注册,登录,实名认证即可。
  2. 在控制台主页找到人体分析
    在这里插入图片描述
    创建应用在这里插入图片描述

里面的需要填写的内容可以随便写,新用户要去领取免费资源,不然使用不了。在这里插入图片描述创建完成在应用列表记录 API Key、Secret Key的值 ,稍后要用。在这里插入图片描述至此,注册账号和创建应用的任务就完成了。

二、代码实现

1.引入库

import os
import requests
import base64
import cv2
import numpy as np
from PIL import Image
from pathlib import Path

path = os.getcwd()
paths = list(Path(path).glob('*'))

2.获取Access Token

def get_access_token():
    url = 'https://aip.baidubce.com/oauth/2.0/token'
    data = {
   
        'grant_type': 'client_credentials',  # 固定值
        'client_id': '替换成你的API Key',  # 在开放平台注册后所建应用的API Key
        'client_secret': '替换成你的Secret Key'  # 所建应用的Secret Key
    }
    res = requests.post(url, data=data)
    res = res.json()
    access_token = res['access_token']
    return access_token

3.核心代码

def removebg():
    try:
        request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/body_seg"
        # 二进制方式打开图片文件
        f = open(name, 'rb')
        img = base64.b64encode(f.read())
        params = {
   "image":img}
        access_token = get_access_token()
        request_url = request_url + "?access_token=" + access_token
        headers = {
   'content-type': 'application/x-www-form-urlencoded'}
        response = requests.post(request_url, data=params, headers=headers)
        if response
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

♚暖心~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值