Python调用百度API进行人像动漫化
目录
- 1. 作者介绍
- 2. 调用百度API实现人像动漫化介绍
- 2.1 API接口描述
- 2.2 请求说明
- 2.3 参数说明
- 3. 实验过程
- 3.1 安装的软件包
- 3.2 实验过程
- 3.3 实验代码
- 3.4 运行结果
- 3.5 问题分析
1. 作者介绍
吴燕子,女,西安工程大学电子信息学院,2021级研究生,张宏伟人工智能课题组
研究方向:模式识别与人工智能
电子邮件:1219428323@qq.com
2. 调用百度API实现人像动漫化介绍
2.1 API接口描述
运用世界领先的对抗生成网络,结合人脸检测、头发分割、人像分割等技术,为用户量身定制千人千面的二次元动漫形象,并且可通过参数设置,生成戴口罩的二次元动漫人像。
2.2 请求说明
HTTP 方法:POST。HTTP是超文本传输协议(Hyper Text Transfer Protocol)的缩写,其用于从服务器传输超文本到本地浏览器的传送协议,本实验采取POST请求方法。
请求URL: https://aip.baidubce.com/rest/2.0/image-process/v1/selfie_anime
2.3 参数说明
3. 实验过程
3.1 安装的软件包
在终端安装如下两条指令,导入实验需要的库即可:
requests:python实现的简单易用的HTTP库。
pip install requests
base64:一种将不可见字符转换为可见字符的编码方式,是百度API要求的一种将图片编码的方式。
pip install pybase64
3.2 实验过程
1.百度API免费获取方法
依次经过以下步骤就可以获得自己的API Key和Secret Key。在这里插入图片描述
3.3 实验代码
首先导入实验所需的库,然后使用获得的API密钥访问百度API提供的人像动漫化地址以获得访问令牌,得到访问令牌之后就可以调用人像动漫化模块,将输入图片读入之后转换成为动漫化之后的图片。
import requests
import base64# 这个函数的操作是为了获取access_token参数
def get_access_token():url = 'https://aip.baidubce.com/oauth/2.0/token' #访问人像动画漫画地址,以得到访问令牌data = {'grant_type': 'client_credentials', # 固定值'client_id': '***', # 在开放平台注册后所建应用的API Key'client_secret': '***' # 所建应用的Secret Key}res = requests.post(url, data=data)res = res.json()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('输入图片.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("生成的动漫图.jpg", 'wb')after_img = res['image'] after_img = base64.b64decode(after_img) #将返回的图像数据解码回图片形式f.write(after_img) f.close()
上述代码中参数仅使用了一个:image,此时该程序除了使输入图片转化为对应的动漫图后没有其他改变,如2.3表给出的参数可知,可以设置输出图片是否戴口罩和所戴口罩类型,则需要变动相应参数程序:
params = {"image": img, "type": 'anime_mask', "mask_id": "6"}
# 注意:这里就是多了type参数和mask_id参数,都是在源文档中可以查看的参数。
# type的值为anime或者anime_mask。前者生成二次元动漫图,后者生成戴口罩的二次元动漫人像。
# 1~8之间的整数,用于指定所使用的口罩的编码。大家可以自行下去尝试。
3.4 运行结果
可以观察到调用百度API实现人像动漫化在单人图片和多人图片中的运行结果都是比较好的。
3.5 问题分析
可以观察到歪头角度越大,动漫化结果越差,所以如果使用百度API实现人像动漫化,一定注意输入图片的角度。
如果运行中遇到以下问题,不要慌张,可能是获得密钥之后,还需要审核时间,过一会再运行就好啦。
Python调用百度API进行人像动漫化相关推荐
- 调用百度API实现人像动漫化(C++)
作者:Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 准备工作 1)登录网站:人像动漫化-百度AI开放平台 .登录百度AI平台. 图1 登录百度AI平台 2 ...
- Python调用腾讯API进行人像动漫化
Python调用腾讯API进行人像动漫化 1. 作者介绍 2. API获取 3. 代码调试 3.1整体结构 3.2 代码解析 3.3完整代码 3.4效果展示: 4. 问题与分析 1. 作者介绍 李犇, ...
- 百度API实现图片动漫化
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.基于百度api实现图像动漫化和人脸处理 二.所有使用到的库 1.引入库 2.完整代码 注意:图片目录不能在属性里直 ...
- C# 使用GET和POST(v1签名方式)以及SDK的方式调用腾讯云人像动漫化接口,包含设置代理
声明:此内容仅供学习交流使用,不用于商业用途,如果涉及侵权,联系作者删除. 最近在调用腾讯云的人像动漫化接口,感觉挺好玩的,自己去看文档写了一下,遇到了各种问题,最后都解决了 ,遇到最多的就是签名错误 ...
- [Python]调用百度API进行自然语言处理 标签、关键字 以及 词法分析
1.进入百度API自然语言处理文档 进入右上角的控制台,注册登录 左侧导航栏选择自然语言处理 创建自己的应用 输入应用名称以及应用描述,其他默认即可. 在如下页面记住自己的API Key以及Secre ...
- python调用百度api判断两张图片是否相同_python如何调用百度识图api
一.先去百度识别官网注册开通服务且获得ak和sk 二.代码模板 import cv2 import base64 import requests import numpy as np import t ...
- 地理位置与经纬度之间相互转换(基于python调用百度API)
百度API 位置与经纬度相互转换 每天限制6000次 百度API平台 https://lbsyun.baidu.com/apiconsole/key#/home 1.pip install 安装相关p ...
- Python调用百度API进行人脸对比
目录 1. 作者介绍 2. 关于Base64知识介绍 2.1 Bsae64是什么 2.1 Bsae64编码原理 3. 实验过程 3.1 实验过程 3.2 实验代码 3.3 运行结果 3.4 问题分析 ...
- Python调用百度API进行身份证识别
目录 1.作者介绍 2.基于百度API的身份证识别 2.1 百度ORC接口简介 2.2 算法介绍 2.2.1图像预处理 2.2.2身份证图像粗定位 2.2.3细定位各种信息和分割 2.2.4识别信息 ...
- python调用百度api接口_python调用百度API
标签: from urllib.request import urlopen import requests import json url = "http://apis.baidu.com ...
最新文章
- 一文详解点云库PCL
- mysql 命令行导入sql脚本
- 使用三种方式创建Class字节码类文件对象
- 开发者说:Seata 0.7.0 版本,你 get 'Metrics' 技能了吗?
- python库之pandas
- Android 匿名共享内存C接口分析
- 从例图中学习思维导图的基本概念
- 计算机考研英语一和英语二的区别,2018考研英语一与英语二翻译有什么区别?怎么提高?...
- 迎来智能数据分析的新时代
- 支持向量回归(SVR)的详细介绍以及推导算法
- 计算机技术在生物学中的应用鲁东大学,项目学习在高中生物学教学中的应用研究...
- tidb损坏tikv节点怎么恢复集群
- bp神经网络训练过程matlab,bp神经网络训练时间
- idempotent - 幂等
- react-router 5 管理路由
- 考华为云认证的必要条件、注意事项
- 最简单的机器学习入门:线性回归
- 软考知识点---12软件工程基础
- Windows XP 超强syskey命令
- JSP基于SSH2网上数码购物商城设计
热门文章
- 游戏的初级体验,三围:视、听、触的展示
- iPhone删除的照片能恢复吗?苹果手机照片怎么恢复
- 108个Mac电脑快捷键大全
- 活跃用户怎么理解?活跃用户的数据怎么看?
- 带有鸿蒙logo的壁纸,鸿蒙OS Logo曝光
- 声学模型(一) hmm声学训练流程
- 毕业一年一点不平凡经历,不平常的感受,有了不平常的自信
- HDLCPPP原理与配置
- Gateway 出现Can not connect to tcp://127.0.0.1: Connection refused
- linux误删文件恢复的方法 ----debugfs