目录
前言
之前因为业务原因,需要大量制作证件照,在网上找了许多文章,没找到合适的,所以借鉴网上一些资料,自己做了一个证件照背景换色。
最终效果
原图
效果图
一、注册百度AI账号、创建人像分割应用
- 百度人像分割主页:https://ai.baidu.com/tech/body/seg 按步骤注册,登录,实名认证即可。
- 在控制台主页找到人体分析
创建应用
里面的需要填写的内容可以随便写,新用户要去领取免费资源,不然使用不了。创建完成在应用列表记录 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 = {