今次介绍用代码来实现这项任务,可以就此探查各种滤镜的内部机制。

制作环境:Windows10,Python2.7,Anaconda

任务描述:将D盘某文件夹中的所有图片使用代码进行卡通化,然后保存到另一文件夹中。

卡通化的关键是强化边缘与减少色彩,所以使用Photoshop进行卡通化的时候就使用了照亮边缘和干笔画的滤镜来处理。使用代码处理图片的时候也是在对边缘和色彩上做文章。以下使用OpenCV库来对照片处理,大致分为四步来完成。

应用双边滤波器来减少图像的色彩

将彩色图像转换为灰度,应用中值滤波器减少图像中的图像噪点

使用自适应阈值处理灰度图像创建轮廓

将来自步骤1的彩色图像与来自步骤3的轮廓叠加

第1步:减少图像色彩

因为双边滤波器平滑平坦区域同时能保持边缘清晰,所以很适合于将RGB图像转换为卡通。虽然速度好像慢一些一个技巧是重复(例如,通过num_bilateral = 7七次)应用小双边滤波器,而不是只用一次大双边滤波器。

cv2.bilateralFilter中的三个参数控制像素邻域的直径(d)和颜色空间中的滤波器的标准偏差(sigmaColor)以及坐标空间(sigmaSpace)。

第2步:转换为灰度,并使用中值滤波器减少噪点

OpenCV在边缘检测方面提供了多种选择,自适应阈值处理的优点是可以检测图像的每个小领域中最突出的特征,独立于图像的整体属性。

应用中值滤波器减少图像的色彩。将原始的彩色图片转换为灰度图片,接着应用中值模糊来减少灰度图像中的噪声。

第3步:创建轮廓

在降噪之后,就可以安全地应用自适应阈值来创建轮廓。 即使存在一些图像噪声,blockSize = 9的cv2.ADAPTIVE_THRESH_MEAN_C算法也会确保将阈值应用于9x9邻域的平均值减去C = 2。

第4步:合并轮廓与彩色图片

最后一步是将经处理的彩色图像(img_color)与边缘掩码(img_edge)组合。至此,一个可以卡通化图片的原始代码就写好了。图片效果有点理工的审美,不够文艺,效果上输给了Photoshop,但是在效率上扳回一城。

最后将上述代码封装成函数。导入python的os模块来方便文件处理。

作者:zc米兰

原文地址:https://zhuanlan.zhihu.com/p/25556276

python视频处理为卡通风格_使用python代码将照片变成卡通图片相关推荐

  1. python视频处理为卡通风格_用 python 快速「卡通化」人物头像

    这个项目让我想起了以前玩QQ秀的时光.有了这个项目,再也不用找同学了,我自己也可以把头像卡通化了. 下图是我的头像.不得不说还真是神似. 人像卡通风格渲染的目标是,在保持原图像ID信息和纹理细节的同时 ...

  2. python樱花制作教程视频_大型Python视频资料,阿里巴巴推荐,用Python画一棵漂亮的樱花树...

    原标题:大型Python视频资料,阿里巴巴推荐,用Python画一棵漂亮的樱花树 对于初学者想更轻松的学好Python开发,爬虫技术,Python数据分析,人工智能等技术,这里也给大家准备了一套系统教 ...

  3. python将图片转动漫_使用代码将照片变成卡通图片——Python篇

    之前的文章介绍了使用Photoshop将照片变成卡通图片,今次介绍用代码来实现这项任务,可以就此探查各种滤镜的内部机制. 制作环境:Windows10,Python2.7,Anaconda 任务描述: ...

  4. python画卡通人物_用Python 绘制儿童卡通人物,一起过儿童节

    又到一年一度的国际儿童节,今天我们来学习一下用 Python 的 Turtle 库绘制童年的卡通人物,一起做回年轻的那个少年. Turtle图形库,又称海龟库,是 Python 语言中一个很流行的绘制 ...

  5. pythonic风格_【Python进阶】Pythonic风格整理

    作者: eavea 发表日期: 2020年04月14日 分类: 后端技术 标签: Python 阅读次数: 5,329 评论数: 0 条 [Python进阶]Pythonic风格整理 所谓Python ...

  6. 采用python语言实现猜数游戏_用python实现猜数游戏

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本文实例为大家分享了python实现猜数游戏的具体代码,供大家参考,具体内容如下 ...

  7. python运维看什么书_学习Python在Linux运维上的应用应该看哪些书 什么样的学习路线...

    匿名用户 1级 2017-08-02 回答 Python岗位有哪些呢?主要的岗位有这些: Python全栈开发工程师(10k-20K) Python运维开发工程师(15k-20K) Python高级开 ...

  8. python入门必备10个坑_适合 Python 初学者的一些技巧和坑

    前言 前几天董大 @董伟明 的爱派森上线了,还发了一套 PPT 和视频,PPT 共有75页干货,讲了很多进阶的用法,也包括很多坑,非常适合刚入门的同学,免得再踩到. 这里我提取部分非常规的,也就是大部 ...

  9. 未来教育python视频百度云-2019年计算机二级Python语言程序设计考试大纲

    2019年计算机二级Python语言程序设计考试大纲 浏览次数: 时间:2019/03/14 从各省教育考试院公布的2019年计算机等级考试报名通知中可知2019年计算机等级考试所有大纲均为2018年 ...

最新文章

  1. C++CTime使用方法
  2. WinCE上BINFS实现详解
  3. python标准库有多强大_Python标准库——走马观花
  4. 在SQLServer中区分大小写的几种方法
  5. 在U盘上运行Win8!使用 Windows To Go 制作便携的 Win8 U盘/移动硬盘教程 (视频)
  6. 英语阅读推荐:主题切换控件 ExpressionBuilder
  7. python定时器 是线程吗_定时器中断线程python
  8. UrlRewriter URL重写
  9. 使用Git和远程代码库
  10. 【文献翻译】基于CVSS的IT系统网络安全风险定量评估方法-A Quantitative CVSS-Based Cyber Security Risk Assessment Methodology
  11. 联想计算机拆机,Lenovo(联想)Y470笔记本电脑拆机清灰图文教程
  12. [系统安全] 十七.Windows PE病毒概念、分类及感染方式详解
  13. macOS中iOS模拟卡顿 ios simulator 高CPU占用解决办法
  14. 在python中使用正则表达式
  15. SQLServer的sql_variant数据类型
  16. 问题(ArcGIS):去除栅格不需要的Value(背景值0)
  17. 推荐:Nginx 会话黏着一致性解决
  18. 软件工程保研浙江大学、南京大学、同济大学、中山大学经验分享
  19. Java忽略返回字段
  20. 函数的单调性与曲线的凹凸性

热门文章

  1. Entity Framework Unit Testing problem and solution(转)
  2. 网络经典命令行【网络高手必备】
  3. 在ASP.NET页面中实现数据柱状图
  4. gcc 与 glibc 的关系 glibc版本查看
  5. HOG特征检测学习笔记
  6. 解决树莓派Virtualenv虚拟环境下GPIO问题
  7. 语音控制 python_用Python编程实现语音控制电脑
  8. activiti 工作流_springboot+activiti+angular 集成activiti工作流实现,源码分享
  9. Weka学习一(分类器算法)
  10. Luogu P2619 [国家集训队2]Tree I 凸优化,wqs二分