python表情换头_用Python把人物头像动漫化,不同的表情给你不同的惊喜

前言

最近上网冲浪的时候看到了一个有趣的东西,叫做『人物动漫化』,作为老大的粉丝,怎么可能放过这个机会,让我们先看看效果图:

这就是这次要用Python搞的事情啦,我们会利用百度AI的人物动漫化技术,结合Python对图片进行处理,生成动漫图片。

开始敲代码

老规矩先来敲代码,导入所需库

import base64

import requests

接下来利用百度AI的账号获取token,得到调用权限

def get_access_token():

# 获取token的API

url = 'https://aip.baidubce.com/oauth/2.0/token'

# 获取access_token需要的参数

params = {

# 固定参数

'grant_type':'client_credentials',

# 必选参数,传入你的API Key

'client_id':'sUxvp1MQkEXLuzkCY10SP8M1',

# 必选参数,传入你的Secret Key

'client_secret':'miK5YLBsMGvGC84q7eFtGxiAefmIS8sq'

}

# 发送请求,获取响应数据

response = requests.post(url, params)

# 将响应的数据转成字典类型,然后取出access_token

access_token = eval(response.text)['access_token']

# 将access_token返回

return access_token

然后编写我们的图片处理代码,来进行人物的动漫化处理,并保存到本地,调用我们的函数,输入我们要处理的图片地址和处理后的存储地址即可

def img2Cartoon(img):

# 头像动漫化的API

url = 'https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime'

# 以二进制的方式读取原始图片

origin_im = open(img, 'rb')

# 将图片进行base64编码

img = base64.b64encode(origin_im .read())

# 关闭原图片

origin_im.close()

# 请求的headers信息,固定写法

headers = {'content-type':'application/x-www-form-urlencoded'}

# 请求的参数

params = {

# 开始获取的access_token

'access_token':get_access_token(),

# 图片的base64编码

'image':img,

}

# 发送请求

response = requests.post(url, data=params, headers=headers)

# 对响应结果进行处理

if response:

# 打开一个文件

f = open('01.jpg', 'wb')

# 获取动漫头像

anime = response.json()['image']

# 对返回的头像进行解码

anime = base64.b64decode(anime)

# 将头像写入文件当中

f.write(anime)

f.close()

if __name__ == '__main__':

img2Cartoon('1.jpg')

结果展示

ennnn,没错我也是超级小杰的粉丝,所以就一起来吧

50行左右的Python代码就能把图片做成动漫风格,大家可以去尝试一下,很多人的微信头像又可以更换了呢~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值