Python实现照片卡通化


Posted in Python onDecember 06, 2021

前言

之前看到一个有意思的开源项目,主要是可以将一张照片变成卡通漫画的风格。下面给大家放几张官方给出的部分效果图。

Python实现照片卡通化

Python实现照片卡通化

看到这个效果图,还是非常经验的。下面我会分享一下这个项目,并且选择一些我自己找的图片试验一下。

项目Github地址:github地址 

环境部署

先使用git将项目下载下来。看一下项目结构。

Python实现照片卡通化

我们看一下需要的环境。

Python实现照片卡通化

非常简单,只要pytorch就可以了。如果有不太会安装的,可以参考:机器学习基础环境部署 

项目使用

看一下readme怎么说明的。

Python实现照片卡通化

直接使用命令,或者代码执行都可以,我们先看看如果命令操作的话都有哪些参数支持。

if __name__ == '__main__':
 
    parser = argparse.ArgumentParser()
    parser.add_argument(
        '--checkpoint',
        type=str,
        default='./weights/paprika.pt',
    )
    parser.add_argument(
        '--input_dir', 
        type=str, 
        default='./samples/inputs',
    )
    parser.add_argument(
        '--output_dir', 
        type=str, 
        default='./samples/results',
    )
    parser.add_argument(
        '--device',
        type=str,
        default='cuda:0',
    )
    parser.add_argument(
        '--upsample_align',
        type=bool,
        default=False,
        help="Align corners in decoder upsampling layers"
    )
    parser.add_argument(
        '--x32',
        action="store_true",
        help="Resize images to multiple of 32"
    )
    args = parser.parse_args()
    
    test(args)

可以通过项目结构看到,作者提供了4个模型文件可供选择,可以用--checkpoint参数切换。需要提供图片的输入文件夹,修改--input_dir参数即可,经过我自己的几次验证,发现有的模型适合风景类型的图片,有的适合人像,下面我分成两部使用一下。

景色类图像使用

先看一下我准备的图片,三张风景的照片。

Python实现照片卡通化

Python实现照片卡通化

Python实现照片卡通化

我使用个人认为比较好用的模型是paprika.pt。下面是执行过程。

Python实现照片卡通化

看看效果

Python实现照片卡通化

Python实现照片卡通化

Python实现照片卡通化

 哦,第一张图的漫画效果有所欠缺,但是后面两张还是不错的。没有细品一波算法,猜测一下,可能是颜色区域较多,对比度越明显,可能漫画后的效果会更好。

人像类图像使用

最主要的还是人像,懂的都懂。下面是我准备的图片。

Python实现照片卡通化

Python实现照片卡通化

Python实现照片卡通化

打算使用face_paint_512_v2.pt模型测试一下。下面直接展示处理后的效果。

Python实现照片卡通化

Python实现照片卡通化

Python实现照片卡通化

效果还是很好的,是不是。

总结

我反复测试了不少图片,有的转化的并不是很好,但是大部分还是不错的,瑕不掩瑜。项目还是好项目,只是可能模型本身训练的数据不是非常全面吧。

 以上就是Python实现照片卡通化的详细内容,更多关于Python照片卡通化的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
教你如何在Django 1.6中正确使用 Signal
Jun 22 Python
初步介绍Python中的pydoc模块和distutils模块
Apr 13 Python
python实现简单的socket server实例
Apr 29 Python
Python聚类算法之DBSACN实例分析
Nov 20 Python
Python基于Matplotlib库简单绘制折线图的方法示例
Aug 14 Python
python利用paramiko连接远程服务器执行命令的方法
Oct 16 Python
分析Python读取文件时的路径问题
Feb 11 Python
Python读取数据集并消除数据中的空行方法
Jul 12 Python
PyQt5实现简易电子词典
Jun 25 Python
Python虚拟环境的原理及使用详解
Jul 02 Python
Django restframework 框架认证、权限、限流用法示例
Dec 21 Python
python中pivot()函数基础知识点
Jan 03 Python
用Python爬取英雄联盟的皮肤详细示例
Python+腾讯云服务器实现每日自动健康打卡
Dec 06 #Python
python 管理系统实现mysql交互的示例代码
Python中super().__init__()测试以及理解
Dec 06 #Python
浅析Python中的随机采样和概率分布
Dec 06 #Python
python程序的组织结构详解
Python中异常处理用法
Nov 27 #Python
You might like
PHP中动态显示签名和ip原理
2007/03/28 PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
laravel通过创建自定义artisan make命令来新建类文件详解
2017/08/17 PHP
idTabs基于JQuery的根据URL参数选择Tab插件
2012/04/11 Javascript
基于jQuery实现下拉收缩(展开与折叠)特效
2012/12/25 Javascript
jQuery实现弹出带遮罩层的居中浮动窗口效果
2016/09/12 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
关于javascript获取内联样式与嵌入式样式的实例
2017/06/01 Javascript
nodejs 图解express+supervisor+ejs的用法(推荐)
2017/09/08 NodeJs
bootstrap treeview 扩展addNode方法动态添加子节点的方法
2017/11/21 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
浅谈JavaScript中的“!!”作用
2020/08/03 Javascript
[51:29]完美世界DOTA2联赛循环赛 Matador vs Forest BO2第一场 11.05
2020/11/05 DOTA
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
python实现向ppt文件里插入新幻灯片页面的方法
2015/04/28 Python
Python采用Django开发自己的博客系统
2020/09/29 Python
Python单例模式的两种实现方法
2017/08/14 Python
python添加模块搜索路径方法
2017/09/11 Python
Python DataFrame 设置输出不显示index(索引)值的方法
2018/06/07 Python
使用 Python 合并多个格式一致的 Excel 文件(推荐)
2019/12/09 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
介绍一下HDLC(High-Level Data Link Control)高层数据链路协议
2012/01/21 面试题
护理学专业推荐信
2013/12/03 职场文书
自我评价如何写好?
2014/01/05 职场文书
甜美蛋糕店创业计划书
2014/01/30 职场文书
公司寄语大全
2014/04/10 职场文书
工作失误检讨书(3篇)
2014/10/11 职场文书
初一年级组工作总结
2015/08/12 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS
goland 设置project gopath的操作
2021/05/06 Golang
MySQL如何快速创建800w条测试数据表
2022/03/17 MySQL
通过feDisplacementMap和feImage实现水波特效
2022/04/24 HTML / CSS