python实现自己的动漫图像
1.调用百度api
最近电脑跑程序,我自己没活儿只能摸鱼了,无意中看到动漫图像,想着应该用gan可以训练出来,没想到百度早就以及为我们做了这个,然后好像是要收费的,然后有哥们就分享了自己的账号并用python调用,我这里就搬一下,程序很简单,底下有他的博客链接,欢迎去膜拜。
1.1程序
# 导入所需要的库
import requests
import base64
def get_accesstoken():
"""
获取access_token
:return:
"""
# 请求URL
url = 'https://aip.baidubce.com/oauth/2.0/token'
# 请求Params
params = {
'grant_type': 'client_credentials',
'client_id': 'IuDNEQFrPbStzSSP1fVvWGAb',
'client_secret': 'PVEpf3VMAtuER88eIh2h3FUjPdYiyqWp'
}
# 获取请求结果
res = requests.post(url=url, data=params)
# print(res.status_code)
jsondata = res.json()
accesstoken = jsondata['access_token']
# 将获取的access_token返回
return accesstoken
get_accesstoken()
def get_img(img):
"""
获取处理的图像信息
:param img:
:return:
"""
# 请求URL
url = 'https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime'
# 获取图像信息
origin_img = open(file=img, mode='rb')
# 将图片进行base64编码
img = base64.b64encode(origin_img.read())
# 关闭图像
origin_img.close()
# 请求header信息
headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
# 请求Params
params = {
'access_token': get_accesstoken(),
'image': img
}
# 获取请求结果
res = requests.post(url=url, data=params, headers=headers)
# 处理响应结果
if res:
# 打开一个文件
f = open(file='wql0.jpeg', mode='wb')
# 获取头像信息
avatar = res.json()['image']
jsondata = res.json()
# 对返回头像信息进行解码
avatar = base64.b64decode(avatar)
# 将头像信息写入文件
f.write(avatar)
# 关闭文件
f.close()
if __name__ == '__main__':
get_img(img='./comic/h.jfif')
1.2图像
感觉效果一般,不过还是很厉害了,毕竟数据集真的是难搞。
2.自己用Gan训练网络
以前第一次接触到迁移风格时就想到用它来做动漫变化,不过数据集确实是个问题,不过大佬们还是很厉害,所以就参考大佬们的教程自己也试试。
3.参考
【1】https://blog.csdn.net/baidu_14953535/article/details/120559424