Python制作个人动漫头像(简化版)
Posted 编程界大侠:凌·雨·画·
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python制作个人动漫头像(简化版)相关的知识,希望对你有一定的参考价值。
一、论头像的重要性
当你被骗进某(这)话题时,除去正文之外,最能吸引人的地方就是头像了。一个头像就等于辨认一个用户的标准,有时甚至比用户名还重要!!!
因此,头像首先要有特点,这能提升人们对你的印象
就好比微信而言,别人加你的第一眼就是看头像,别觉得这是一个看脸的时代,时代一直都是看脸的!!!
如果看到这里,你已经开始思考,更换早已不满意却懒得更换头像的时候
今天手把手教你制作自己的动漫人物头像,只需不到三十行Python代码,你懂的!
二、效果展示
在我多次测试后,发现女生头像的生成还是比较不错的,而且最好是正面照。
而男生动漫头像的生成就有点差强人意了,大家可以自己试试,下面我们看看我用妹子生成的两张图片,我们先看第一张:
接下来是第二张,我用的是垫底辣妹中的形象:
两张效果都不咋地,主要还是人物的头部动漫化了,其它部分只是趋于动漫的风格。
三、实现
其实实现这个功能很简单,只需调用API了。
这里我使用的是百度的API,我们可以进入百度AI开放平台注册账号。
登陆后我们可以看到如下界面:
我们依次点击开放能力》图像技术》人像动漫化,然后我们点击立即使用,再创建应用就可以了。在应用里面我们可以看到三个参数AppID、API Key和Secret Key三个参数,我们把这三个参数记住就可以开始我们的编程了。
附源码单纯的人像动漫化!
import requests, base64
# 这个函数的操作是为了获取access_token参数
def get_access_token():
url = 'https://aip.baidubce.com/oauth/2.0/token'
data = {
'grant_type': 'client_credentials', # 固定值
'client_id': 'DmGvuvIPGXiXjBybCEyTIZZv', # 在开放平台注册后所建应用的API Key
'client_secret': 'uBOYZ0cxzPHCG5I5FaUAcoZnONvVE0wd' # 所建应用的Secret Key
}
res = requests.post(url, data=data)
res = res.json()
#print(res)
access_token = res['access_token']
return access_token
# 下面的代码就是API文档中的代码,直接搬过来使用即可。
request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime"
f = open('16.jpg', 'rb') # 二进制方式打开图片文件
img = base64.b64encode(f.read()) # 图像转为base64的格式,这是百度API文档中要求的
params = {"image":img}
access_token = '24.11731cd1f0...9f9b3a930f917f3681b.2592000.1596894747.282335-21221990'
request_url = request_url + "?access_token=" + get_access_token()
headers = {'content-type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, data=params, headers=headers)
res = response.json()
# 前面我们讲述了这个请求返回的是一个字典,其中一个键就是image,代表的是处理后的图像信息。
# 将这个图像信息写入,得到最终的效果图。
if res:
f = open("动漫化2.jpg", 'wb')
print(res)
after_img = res['image']
after_img = base64.b64decode(after_img)
f.write(after_img)
f.close()
这里我们用到了requests模块,如果没有安装的可以在命令行执行下列语句:
pip install requests
这样我们就实现了头像动漫化的操作,非常简单,因为主要的工作都由百度的程序员帮我们实现了,大家可以使用自己的照片生成一些个性化的头像。
如果太丑的话不要跑回来骂我就好了。个人觉得动漫化后变形了没有达到我的期望!
更多编程相关内容可以关注公众号:Lyh-Bxxw。
以上是关于Python制作个人动漫头像(简化版)的主要内容,如果未能解决你的问题,请参考以下文章
用 Python 制作可视化 GUI 界面,一键实现将头像转成动漫风!
头像总撞脸,如何定制化头像?几行Python代码实现人像动漫化