来源:快学Python

最近遇到了一个问题,需要将头像转化动漫风,当时第一想法就是找现成的轮子。比如我们在之前的文章中《超有趣的Python实战:将图片转成像素风!》,就是通过调用名为Tiler的开源库,生成可爱像素风图片!

▲图片转成像素风

将头像转化为动漫风,就是希望在保持原图像信息和纹理细节的同时,将真实照片转换为动漫/卡通风格的非真实感图像。目前除了百度api,Github上还有不少开源库可供我们直接使用。

其中AnimeGAN是来自武汉大学和湖北工业大学的一项研究,采用的是神经风格迁移 + 生成对抗网络(GAN)的组合,实现效果非常符合我们的需求。

AnimeGAN最早使用的是Tensorflow框架,不过查询资料后发现该项目已支持PyTorch框架。

地址:https://github.com/bryandlee/animegan2-pytorch

而我正好之前基于PyTorch实现过微博评论情感分析,所以用起来也不会有什么负担,还省得安装库了。

Pytorch安装

PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。这个深度学习框架,可以应用在数值建模、图像建模、文本建模、音频建模等等多个方向。

安装Pytorch会比其他库麻烦一些,如果去官方安装下载,需要根据实际配置得到适合自己的安装命令。

如果你通过上面这种步骤发现下载速度慢,或者遇到各种问题,不妨试试下面这个网站:

https://download.pytorch.org/whl/torch_stable.html

网站视图:

动漫风格迁移

安装Pytorch框架后,我们便可以将该animegan2-pytorch项目clone到本地/直接下载下来:

git clone https://github.com/bryandlee/animegan2-pytorch

下载到本地的文末目录如下图所示:

其中weights文件夹下包含四个权重,选择对应的权重就能实现自己想要的动漫风格迁移。samples下的inputs文件夹中储存了图片示例,可以直接拿来试水。除此以外,我还在同一路径下新建了output文件夹,用于存放处理后的图片。

接下来,我们只需要在命令行中运行test.py脚本就可以调用该项目,具体命令格式如下:

python test.py --checkpoint [模型文件路径] --input_dir [输入图像所在目录] --output_dir [输出目录] --device [设备选择,cpu或者cuda]

实际操作:

由于是像实现人脸动漫迁移,所以我分别使用了face_paint_512_v1.ptface_paint_512_v2.pt权重,效果如下图所示:

实战效果①

换一张图看一下:

实战效果②

个人觉得face_paint_512_v2.pt权重的处理成品更符合我对动漫风的想象,大家怎么看呢?

最后我也试了试paprika.pt对风景图片进行动漫迁移。

▲原图

效果如下图所示:

▲效果图

如果大家对将头像/图片转化动漫风感兴趣,不妨也来试试~


注意!

注意!

如果看完本文的小伙伴,不想安装Pytorch,又想直接打造一个自己专属的漫画脸?

可以电脑打开这个网址:https://huggingface.co/spaces/akhaliq/AnimeGANv2,这是在线AnimeGANv2的APP,无需你本地安装什么框架,直接就可以进行转换。

▲AnimeGANv2网站

我们的文章到此就结束啦。

Python 一行代码将你的头像转成动漫风!相关推荐

  1. 用 Python 制作可视化 GUI 界面,一键实现将头像转成动漫风!

    作者 | 欣一 来源 | Python爱好者集中营 最近在Github上面有看到将头像转化成动漫风的项目,但是对于不少没有技术背景的同学来说可能就不知道该怎么使用了,小编今天制作了一个UI界面,大家可 ...

  2. python代码大全p-【python】10分钟教你用python一行代码搞点大新闻

    准备 相信各位对python的语言简洁已经深有领会了.那么,今天就带大家一探究竟.看看一行python代码究竟能干些什么大新闻.赶紧抄起手中的家伙,跟我来试试吧. 首先你得先在命令行进入python. ...

  3. 【Python】Python一行代码能做什么,30个实用案例代码详解

    Python语法简洁,能够用一行代码实现很多有趣的功能,这次来整理30个常见的Python一行代码集合. 1.转置矩阵 old_list = [[1, 2, 3], [3, 4, 6], [5, 6, ...

  4. Python一行代码

    1:Python一行代码画出爱心 print'\n'.join([''.join([('SunShine-'[(x-y)%9]if((x*0.05)**2+(y*0.1)**2-1)**3-(x*0. ...

  5. Python一行代码实现正三角形

    Python一行代码实现正三角形 - 代码 for i in range(10):print(f"{'':^{10-i}}{{}}".format("* "*i ...

  6. 环信群列表 php,一行代码实现群聊头像(用环信仿微信群聊头像)

    做这个环信群聊头像的时候,我在考虑怎么自定义,怎么去拼接这个群聊头像,怎么获取群成员的头像,怎么在群成员退出群聊的时候更新头像,,, 群聊的东西真的很多,最近刚刚弄完群聊头像,并没有考虑到退出的时候怎 ...

  7. 50 条有趣的 Python 一行代码

    在学习Python的过程中,总会发现Python能够轻易的解决许多问题. 一些复杂的任务,甚至可以使用一行Python代码就能搞定. 下面给大家介绍50个有趣的Python一行代码,都很实用. 希望大 ...

  8. 50条有趣的Python一行代码

    公众号后台回复"图书",了解更多号主新书内容 作者:小F 来源:法纳斯特 在学习Python的过程中,总会发现Python能够轻易的解决许多问题. 一些复杂的任务,甚至可以使用一行 ...

  9. 50条有趣的Python一行代码,建议收藏!

    大家好,我是小F. 在学习Python的过程中,总会发现Python能够轻易的解决许多问题. 一些复杂的任务,甚至可以使用一行Python代码就能搞定. 下面,小F给大家介绍50个有趣的Python一 ...

最新文章

  1. DBScript:轻量级ORM
  2. centos搭建ftp环境
  3. mac与windows服务器 访问和共享
  4. dubbo web工程示例_分布式开发-Zooker+dubbo入门-Demo
  5. 【Java】探究Java数组的本质
  6. spring整合logback
  7. sql server 群集_SQL Server 2014 –安装群集实例–分步(1/3)
  8. 控制层@Value注解取不到值
  9. 【论文笔记】A Convolutional Neural Network Cascade for Face Detection
  10. 【CSS应用篇】——CSS如何实现渐变背景
  11. 难上加难?女性在技术领域可以这样做……
  12. DDR controller控制器之AXI接口模块设计
  13. 如何做一个简单的APP
  14. 城市交通大数据及智能应用
  15. flash的计算机知识,初中信息技术FLASH基础知识.ppt
  16. python 图像清晰度_图像清晰度评价指标(Python)
  17. 批量输出dwg文件中的文本
  18. 英国脱欧不过是小事一桩
  19. TensorFlow XLA 初探
  20. element rules 校验

热门文章

  1. 【毕业设计】爱琴海——基于HTML5的婚庆用品商城网页设计
  2. Ubuntu 突然无法打开蓝牙
  3. 微软授权方式连载一:Windows产品的正确授权方式
  4. 与豆瓣杨勃聊天 长尾 推荐机制
  5. 【企业】纸牌屋经典台词
  6. 快手高层动荡:CTO陈定佳离职 两位高级副总裁将分担其职责
  7. 边缘计算落地要多牵住几个“牛鼻子”
  8. (npm run dev时报错)有没有小伙伴知道这是什么错
  9. 23本科毕业一年,从事C语言单片机工作一年半了,我都不知道以后干嘛了
  10. 数学从小学开始“梯次掉队”?别让课本的枯燥“浇灭”孩子对数学的兴趣