当前位置:首页 > 编程世界 > 正文内容

今日实战,调用百度云的人像分割实现自动抠图

李大敬3年前 (2022-03-19)编程世界46630

最近一个项目的需要,大概就是  传递校旗的项目,挺简单的一个东西。     A 上传一张自己的照片,分享网页给B, B也上传一张自己的照片,然后系统自动把A和B抠图抠出来。然后利用Html5 Canvas合成到背景图片上。


先说  抠图吧。本地调用的是百度云的人像分割,企业认证,免费调用5万次哦。

官网地址:     https://ai.baidu.com/tech/body/seg   点我直达



注册账号,

申请认证

创建应用

申请试用



最终就是获得   API Key和  Secret Key。image.png



当然还要申请试用。image.png




到此准备工作就完了。



这次项目用的python ,大家直接下载  pycharm,, 然后导入代码就可以了。


代码下载地址在附件中。

baidu_koutu.zip


给大家贴一下  代码

# encoding:utf-8
import requests
import base64
import json
# client_id 为官网获取的AK, client_secret 为官网获取的SK,修改在下面的位置
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=e1G3wEUGhZ&client_secret=0ZKbZBbHnC0o3et'
response = requests.get(host)
print(response.json()['access_token'])
if response:
    print(response.json())
request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v1/body_seg"
# 二进制方式打开图片文件
f = open("image/123.jpg", 'rb')
img = base64.b64encode(f.read())
params = {"image": img}
access_token = response.json()['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:
    print(response.json())
    imgdata = base64.b64decode(response.json()['foreground'])
    file = open("image/koutu.png", 'wb')
    file.write(imgdata)
    file.close()



最后的效果就是这个样子的

抠图后:

怎么样,勉强还行吧。哎,最后感叹一下我的黑泽志林呀。

至于怎么合成,明天再给大家介绍。

扫描二维码推送至手机访问。

版权声明:本文由爱一生一世的心发布,如需转载请注明出处。

本文链接:https://love1314.xin/post/247.html

分享给朋友:

相关文章

php教程之操作数据库

最近在学新的语言PHP,花了小半天看了看php操作数据库的方法,其实还是很简单的,比C更容易上手。好吧,我贴出来做个记录。<?php $servername="localhost"; $username=&qu...

最近做的一个股票采集系统

昨天晚上加班做的一个股票采集系统。接口是用的新浪的。第一次写PHP程序,还是不太熟哈。大伙需要的话拿去,自己修改一下就可以用。 <?php header("Content-type: text/html; charset=utf-...

破解学校的校园网账号密码[附源码和账号]

在我们学校的学生账号,晚上11点是要断网的,但是教师账号就不断网。这让我多不爽呀。今天想了一下,干脆盗用教师账号得了。于是写了个破解扫描账号的。把全校所有的教师账号都跑了个遍。终于扫了12个账号可以用的。还有几个可以用的,但是没充钱的。...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。