很多时候我们都会为头像发愁,像我这种万年不换头像的咸鱼从来没有这种烦恼。但是吧,有个个性化的头像还是非常有趣的,例如用自己的漫画来做头像,那么用Python如何实现呢?我打算把这个小技巧给大家分享。

效果展示

在我多次测试后,发现女生头像的生成还是比较不错的,而且最好是正面照。而男生动漫头像的生成就有点差强人意了,大家可以自己试试,下面我们看看我用有村大妹子生成的两张图片,我们先看第一张:

接下来是第二张,我用的是垫底辣妹中的形象:

两张效果都还可以,主要还是人物的头部动漫化了,其它部分只是趋于动漫的风格。不过我觉得还是很可以的。

实现

对于我这种基本功不扎实的人来说,实现这种只能调用API了。我使用的是百度的API,我们可以进入百度AI开放平台注册账号,具体流程就不讲了。登录后我们可以看到如下界面:

我们依次点击开放能力》图像技术》人像动漫化,然后我们点击立即使用,再创建应用就可以了。在应用里面我们可以看到三个参数AppID、API Key和Secret Key三个参数,我们把这三个参数记住就可以开始我们的编程了。

实现人像动漫化需要用到两个接口,一个用来获取access_token,另一个则是用来获取动漫头像,我们来获取access_token:

import requests
def get_access_token():# 获取token的APIurl = 'https://aip.baidubce.com/oauth/2.0/token'# 获取access_token需要的参数params = {# 固定参数'grant_type':'client_credentials',# 必选参数,传入你的API Key'client_id':'你的API Key',# 必选参数,传入你的Secret Key'client_secret':'你的Secret Key'}# 发送请求,获取响应数据response = requests.post(url, params)# 将响应的数据转成字典类型,然后取出access_tokenaccess_token = eval(response.text)['access_token']# 将access_token返回return access_token

这里我们用到了requests模块,如果没有安装的可以在命令行执行下列语句:

pip install requests

接下来就是我们头像动漫化了:

import base64
import requests
def img2Cartoon(img):# 头像动漫化的APIurl = '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('result.jpg', 'wb')# 获取动漫头像anime = response.json()['image']# 对返回的头像进行解码anime = base64.b64decode(anime)# 将头像写入文件当中f.write(anime)f.close()

我们只需要在main中调用img2Cartoon函数即可完成动漫头像的生成,完整代码如下:

import base64
import requestsdef get_access_token():# 获取token的APIurl = 'https://aip.baidubce.com/oauth/2.0/token'# 获取access_token需要的参数params = {# 固定参数'grant_type':'client_credentials',# 必选参数,传入你的API Key'client_id':'你的API Key',# 必选参数,传入你的Secret Key'client_secret':'你的Secret Key'}# 发送请求,获取响应数据response = requests.post(url, params)# 将响应的数据转成字典类型,然后取出access_tokenaccess_token = eval(response.text)['access_token']# 将access_token返回return access_tokendef img2Cartoon(img):# 头像动漫化的APIurl = '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('result.jpg', 'wb')# 获取动漫头像anime = response.json()['image']# 对返回的头像进行解码anime = base64.b64decode(anime)# 将头像写入文件当中f.write(anime)f.close()if __name__ == '__main__':img2Cartoon('origin.jpg')

这样我们就实现了头像动漫化的操作,非常简单,因为主要的工作都由百度的程序员帮我们实现了,大家可以使用自己的照片生成一些个性化的头像。如果太丑的话不要跑回来骂我就好了。

Python 头像动漫化,快来生成女朋友的动漫头像相关推荐

  1. python随机函数random、画、星轨_如何使用 NVIDIA StyleGAN 生成自己的动漫(老婆)头像...

    大家应该前段时间都被StyleGan生成动漫(老婆)头像的新闻刷屏了,但是基本上玩的起来的都是比较核心的程序猿,本文的主旨意思是希望每一个热爱动漫,喜欢研究人工智能的朋友都可以享受调教stylegan ...

  2. 头像动漫化——微信小程序+Flask后端调用AnimeGanV2

    之前写了篇文章<超越前作,实现动漫风格迁移--AnimeGANv2>,里面提到使用AnimeGANv2实现人物动漫化,生成一个独一无二对自己价值珍贵的头像.不过操作起来有亿点点麻烦,所以希 ...

  3. python将图片转动漫_如何把照片变成手绘动漫化?

    看了各位答主的回答,大都是利用 ps 或者是相应的 app 来实现动漫效果的. 其中的原理大同小异,大家看我这篇文章就足够了! 1.普通照片和动漫图片的区别 要想搞清楚怎么变成动漫化风格,首先就要明白 ...

  4. 【人工智能】基于百度AI+Python编程的简单应用:关于人像照片动漫化的分析实现(可进行批量化处理)——教你看到二次元中的自己

    前两天博主刚写过一篇文章:[人工智能]基于百度AI和Python编程的简单实现:通过QQ/Tim截图进行文本识别功能的分析实战详解--以获取百度文库付费内容为例.由于这两天博主摸鱼时又一次使用到了百度 ...

  5. python 人像合成_「百度AI API」Python实现人像动漫化

    WechatIMG1.jpeg 想看自己的漫画脸?用不着下快手抖音,这篇文章的目的就是使用Python来实现人像动漫化的效果. 首先,这里是我们使用的人像动漫化API的主页:人像动漫化-百度AI开放平 ...

  6. python画卡通人物用什么_干啥啥不行,吹牛第一名——Python头像动漫化,快来用女朋友照片生成一个动漫头像吧...

    目录 Python头像动漫化,快来生成一个自己的动漫头像吧 一.前言 很多时候我们都会为头像发愁,像我这种万年不换头像的咸鱼从来没有这种烦恼.但是吧,有个个性化的头像还是非常有趣的,因为这个抠鼻屎的头 ...

  7. Python头像动漫化,快来生成一个自己的动漫头像吧,带你一步一步深入Handler源码

    import requests def get_access_token(): 获取token的API url = 'https://aip.baidubce.com/oauth/2.0/token' ...

  8. python头像动漫化_Python头像动漫化,快来生成一个自己的动漫头像吧

    一.前言 很多时候我们都会为头像发愁,像我这种万年不换头像的咸鱼从来没有这种烦恼.但是吧,有个个性化的头像还是非常有趣的,因为这个抠鼻屎的头像除了抠鼻屎这点,其它都很符合本人的气质,所以已经够用了.但 ...

  9. python 动漫卡通人物图片大全_用Python把人物头像动漫化,不同的表情给你不同的惊喜...

    前言 最近上网冲浪的时候看到了一个有趣的东西,叫做『人物动漫化』,作为老大的粉丝,怎么可能放过这个机会,让我们先看看效果图: 这就是这次要用Python搞的事情啦,我们会利用百度AI的人物动漫化技术, ...

最新文章

  1. 测试归测试,自动驾驶向个人全面开放依然长路漫漫
  2. 圆头像 微信小程序 绘图_小程序canvas绘制圆形微信头像
  3. 关于安装VS2010过程中的错误
  4. 循环神经网络基础介绍
  5. php做的物资管理系统,基于WEB的物资管理信息系统
  6. 商户网站使用第三方支付的大致原理和实现
  7. vertx rest 跨域_在基于简单Vertx Rest的应用程序上为REST资源设置基本响应HTTP标头...
  8. Android一个简单易用的进度条
  9. Python框架篇之Django(Template基础:模板语法、过滤器filter)
  10. Redis——学习之路三(初识redis config配置)
  11. 深度学习2.0-5.tensorflow的基础操作之前向传播(张量)实战
  12. android平台db4o使用示例
  13. ContentProvider跨进程通信
  14. 千锋云计算毕业设计论文:论文设计任务书
  15. linux内核audit,linux audit审计(7)--读懂audit日志
  16. 深度学习需要的显卡配置
  17. ML算法工程师的三个层次
  18. 软件“吃掉”创新 企业如何深陷罗网?
  19. 襄阳文理学院计算机分数线,湖北文理学院理工学院历年录取分数线多少及各省最低投档线统计表...
  20. 大三实习生JAVA-集合

热门文章

  1. Symfony 框架实战教程——第一天:创建项目(转)
  2. 打造核心动力 争夺国际大数据话语权
  3. dhcp 授权的原理
  4. XML DOM 节点类型(Node Types)
  5. String.Empty,NULL和的区别
  6. Serverless实战 —— 使用 Wintersmith + Serverless Framework 快速创建个人站点
  7. 修改oracle实例名orcl为demo
  8. 微型计算机在工作过程中突然遇到电源中断,微型计算机在工作过程中突然遇到电源中断,则计算机 中的信息将全部丢失,再次接通电源后也不能恢复数据。...
  9. NET Core 3.0 项目中使用 AutoFac
  10. spring boot 常用项目文件结构