人像动漫化
Posted yangbocsu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人像动漫化相关的知识,希望对你有一定的参考价值。
一、生成二次元动漫图
import requests
import base64
# 获取 访问秘钥
# client_id 去官网获取的AK,
# client_secret 去官网获取的SK
def access_token():
AK = ' ' # client_id 去官网获取的AK,
SK = ' ' # client_secret 去官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='+AK+'&client_secret='+SK
response = requests.get(host)
if response:
print(response.json(),'\\n\\n')
access_token = response.json()
return access_token['access_token']
# 人像动漫化
def portraitAnimation(token,imgUrl):
f = open(imgUrl, 'rb') #二进制方式打开图片文件
img = base64.b64encode(f.read()) #图片 base64 编码
params = "image": img
access_token = token
request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime"
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:
ima = response.json()
data = base64.b64decode(ima['image']) #base64 解码
# 生成图片
file = open("p2.png", "wb")
file.write(data)
print('人像动漫化 生成完毕!')
# 人像动漫化
# 运用对抗生成网络技术,结合人脸检测、头发分割、人像分割等技术,为用户量身定制千人千面的二次元动漫形象,
# 并支持通过参数设置,生成戴口罩的二次元动漫人像
# 人像动漫化:需要处理的图片base64编码后大小不超过4M,最短边至少64px,最长边最大4096px,长宽比3:1以内
if __name__ == '__main__':
accessToken = access_token()
imgUrl = "C:\\\\Users\\\\97942\\\\PycharmProjects\\\\Comic\\\\周深.png" # 图片的绝对路径
portraitAnimation(accessToken,imgUrl)
二、生成戴口罩的二次元动漫人像
import requests
import base64
# 获取 访问秘钥
# client_id 去官网获取的AK,
# client_secret 去官网获取的SK
def access_token():
AK = ' ' # client_id 去官网获取的AK,
SK = ' ' # client_secret 去官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='+AK+'&client_secret='+SK
response = requests.get(host)
if response:
print(response.json(),'\\n\\n')
access_token = response.json()
return access_token['access_token']
# 人像动漫化
def portraitAnimation(token,imgUrl):
f = open(imgUrl, 'rb') #二进制方式打开图片文件
img = base64.b64encode(f.read()) #图片 base64 编码
# 1~8之间的整数,用于指定所使用的口罩的类型
params = "image": img,"type":'anime_mask',"mask_id":"2"
access_token = token
request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime"
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:
ima = response.json()
data = base64.b64decode(ima['image']) #base64 解码
# 生成图片
file = open("p2.png", "wb")
file.write(data)
print('人像动漫化 生成完毕!')
# 人像动漫化
# 运用对抗生成网络技术,结合人脸检测、头发分割、人像分割等技术,为用户量身定制千人千面的二次元动漫形象,
# 并支持通过参数设置,生成戴口罩的二次元动漫人像
# 人像动漫化:需要处理的图片base64编码后大小不超过4M,最短边至少64px,最长边最大4096px,长宽比3:1以内
if __name__ == '__main__':
accessToken = access_token()
imgUrl = "C:\\\\Users\\\\97942\\\\PycharmProjects\\\\Comic\\\\p1.png" # 图片的绝对路径
portraitAnimation(accessToken,imgUrl)
以上是关于人像动漫化的主要内容,如果未能解决你的问题,请参考以下文章
头像总撞脸,如何定制化头像?几行Python代码实现人像动漫化