百度人工智能运用世界领先的对抗生成网络,结合人脸检测、头发分割、人像分割等技术,为用户量身定制千人千面的二次元动漫形象,并且可通过参数设置,生成戴口罩的二次元动漫人像。
先来一组图看看效果
八种口罩任意选呦
不懂技术的想要自己的动漫头像可以QQ我呦:496575233
也可以在微信小程序上直接获取头像哦
接下来一起来看看制作过程吧
1、首先在百度智能云=>产品服务=>人工智能=>图片效果增强 模块下方注册应用
输入应用名称、应用类型、接口选择可以默认(默认就开启了人像动漫化权限)、应用描述
立即创建即可
2、进入应用列表、查看上述注册应用的API Key和Secret Key 这两个值注意保密哦,不要告诉别人,因为人像动漫画是免费次数500次,免费次数用完了收费标准目前是80元每1000次
3、接下来就需要获取用户权限了,就是使用2中的API Key和Secret Key获取token令牌了
原理是向服务器发起http请求,获取返回值中的token
可以使用python请求模块requests来完成
来一段案例代码
import requests
res = requests.post("https://aip.baidubce.com/oauth/2.0/token",data={
"grant_type":"client_credentials",
"client_id":"注册应用的API Key",
"client_secret":"注册应用的Secret Key"
})
token = res.json()["access_token"]
print(token)
这个token可以使用一个月哦
获取到token之后就就可以使用token结合自己头像来获取动漫头像了
4、将上述token和自己的头像发送给服务器对应接口,可以选择是否带口罩以及口罩的类型哦
来一段案例代码
import base64
imgpath = "zly.jpg"
with open(imgpath,"rb") as f:
base64str = base64.b64encode(f.read()).decode()
res = requests.post("https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime", data={
"access_token": "上述代码获取的token",
# 图片需要base64编码
"image":base64str,
# type的值anime或者anime_mask。前者生成二次元动漫图,后者生成戴口罩的二次元动漫人像
"type":"anime_mask",
# 1~8之间的整数,用于指定所使用的口罩的编码。
"mask_id":"2"
}, headers={
"Content-Type": "application/x-www-form-urlencoded"
})
resultstr =res.json()["image"]
resultstr = base64.b64decode(resultstr)
with open("result.jpg", "wb") as f:
f.write(resultstr)
就可以将获取到的头像进行保存到result.jpg中了
调整type类型结合mask_id可以选择更多口罩类型哦
再来一波美图看看
来源:oschina
链接:https://my.oschina.net/u/4400107/blog/3234289