目录

  • 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进行人像动漫化相关推荐

  1. 调用百度API实现人像动漫化(C++)

    作者:Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 准备工作 1)登录网站:人像动漫化-百度AI开放平台 .登录百度AI平台. 图1 登录百度AI平台 2 ...

  2. Python调用腾讯API进行人像动漫化

    Python调用腾讯API进行人像动漫化 1. 作者介绍 2. API获取 3. 代码调试 3.1整体结构 3.2 代码解析 3.3完整代码 3.4效果展示: 4. 问题与分析 1. 作者介绍 李犇, ...

  3. 百度API实现图片动漫化

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.基于百度api实现图像动漫化和人脸处理 二.所有使用到的库 1.引入库 2.完整代码 注意:图片目录不能在属性里直 ...

  4. C# 使用GET和POST(v1签名方式)以及SDK的方式调用腾讯云人像动漫化接口,包含设置代理

    声明:此内容仅供学习交流使用,不用于商业用途,如果涉及侵权,联系作者删除. 最近在调用腾讯云的人像动漫化接口,感觉挺好玩的,自己去看文档写了一下,遇到了各种问题,最后都解决了 ,遇到最多的就是签名错误 ...

  5. [Python]调用百度API进行自然语言处理 标签、关键字 以及 词法分析

    1.进入百度API自然语言处理文档 进入右上角的控制台,注册登录 左侧导航栏选择自然语言处理 创建自己的应用 输入应用名称以及应用描述,其他默认即可. 在如下页面记住自己的API Key以及Secre ...

  6. python调用百度api判断两张图片是否相同_python如何调用百度识图api

    一.先去百度识别官网注册开通服务且获得ak和sk 二.代码模板 import cv2 import base64 import requests import numpy as np import t ...

  7. 地理位置与经纬度之间相互转换(基于python调用百度API)

    百度API 位置与经纬度相互转换 每天限制6000次 百度API平台 https://lbsyun.baidu.com/apiconsole/key#/home 1.pip install 安装相关p ...

  8. Python调用百度API进行人脸对比

    目录 1. 作者介绍 2. 关于Base64知识介绍 2.1 Bsae64是什么 2.1 Bsae64编码原理 3. 实验过程 3.1 实验过程 3.2 实验代码 3.3 运行结果 3.4 问题分析 ...

  9. Python调用百度API进行身份证识别

    目录 1.作者介绍 2.基于百度API的身份证识别 2.1 百度ORC接口简介 2.2 算法介绍 2.2.1图像预处理 2.2.2身份证图像粗定位 2.2.3细定位各种信息和分割 2.2.4识别信息 ...

  10. python调用百度api接口_python调用百度API

    标签: from urllib.request import urlopen import requests import json url = "http://apis.baidu.com ...

最新文章

  1. 一文详解点云库PCL
  2. mysql 命令行导入sql脚本
  3. 使用三种方式创建Class字节码类文件对象
  4. 开发者说:Seata 0.7.0 版本,你 get 'Metrics' 技能了吗?
  5. python库之pandas
  6. Android 匿名共享内存C接口分析
  7. 从例图中学习思维导图的基本概念
  8. 计算机考研英语一和英语二的区别,2018考研英语一与英语二翻译有什么区别?怎么提高?...
  9. 迎来智能数据分析的新时代
  10. 支持向量回归(SVR)的详细介绍以及推导算法
  11. 计算机技术在生物学中的应用鲁东大学,项目学习在高中生物学教学中的应用研究...
  12. tidb损坏tikv节点怎么恢复集群
  13. bp神经网络训练过程matlab,bp神经网络训练时间
  14. idempotent - 幂等
  15. react-router 5 管理路由
  16. 考华为云认证的必要条件、注意事项
  17. 最简单的机器学习入门:线性回归
  18. 软考知识点---12软件工程基础
  19. Windows XP 超强syskey命令
  20. JSP基于SSH2网上数码购物商城设计

热门文章

  1. 游戏的初级体验,三围:视、听、触的展示
  2. iPhone删除的照片能恢复吗?苹果手机照片怎么恢复
  3. 108个Mac电脑快捷键大全
  4. 活跃用户怎么理解?活跃用户的数据怎么看?
  5. 带有鸿蒙logo的壁纸,鸿蒙OS Logo曝光
  6. 声学模型(一) hmm声学训练流程
  7. 毕业一年一点不平凡经历,不平常的感受,有了不平常的自信
  8. HDLCPPP原理与配置
  9. Gateway 出现Can not connect to tcp://127.0.0.1: Connection refused
  10. linux误删文件恢复的方法 ----debugfs