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制作个人动漫头像(简化版)

Python制作个人动漫头像(简化版)

用 Python 制作可视化 GUI 界面,一键实现将头像转成动漫风!

头像总撞脸,如何定制化头像?几行Python代码实现人像动漫化

用 Python 制作可视化 GUI 界面,一键实现多种风格的照片处理

动漫头像一张50元?1行Python代码实现,别再去交智商税了