如何用Python轻松将npy的自拍卡通化(*^▽^*)

此功能的实现其实非常简单,主要是在Python中调用了百度AI开放平台的图像特效[人像动漫化]API,其实在各种编程环境下都可,之前也尝试过MATLAB中使用语音识别的API,效果同样稳定。
在这里插入图片描述
实现步骤1:获取Access_Token
注册一个开发者账号后,登录进入控制台,找到图像增强与特效的应用并创建一个个人应用作为示例:
在这里插入图片描述
之后按照官方给出的技术文档基本上就能完成80%了。

首先在py脚本中运行并获取Access_Token:

# encoding:utf-8
import requests 

# client_id 为官网获取的AK, 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())

其中【官网获取的AK】替换为"引号中复制进你的API Key",【官网获取的SK】替换为"引号中复制进你的Secret Key".
在这里插入图片描述
返回参数:
在这里插入图片描述
其中的access_token一行就是我们要的结果,复制引号中的内容。

步骤2:读取本地图片并请求接口响应

# encoding:utf-8
import requests
import base64
import os

request_url = "https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime"
# 二进制方式打开图片文件
f = open('a4.jpg', 'rb')  
img = base64.b64encode(f.read())

params = {"image":img}
access_token = '24.2d63349d5951b2cd887327657f7246c1.2592000.1614345584.282335-23601878'
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:
    print (response.json())

将access_token中的内容替换为上一步得到的,并将f = open(‘a4.jpg’, ‘rb’) 中的图片替换为自己的,图片位置与py脚本放在一个工程目录即可;

返回参数:
按照官方文档说明,将返回处理后图片的Base64编码(字典中image对应的内容),而非直接生成处理后的图片。

步骤3:Base64编码转图片
实际图片生成的Base64编码将会很长,给你感受一下(* ̄︶ ̄)
在这里插入图片描述
所以起初我想将其直接复制进某在线Base64编码转图片的网页上时,还会报错…
这里在程序最后加上一段译码功能,将其转换为处理后的图片:

img_str = response.json()['image']
img_data = base64.b64decode(img_str)
# 注意:如果是"data:image/jpg:base64,",那你保存的就要以png格式,如果是"data:image/png:base64,"那你保存的时候就以jpg格式。
with open('001.jpg', 'wb') as f:
      f.write(img_data)

运行完之后,就可以在当前工程目录下查看到你想要的图片啦~O(∩_∩)O

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹅毛在路上了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值