pk 哥读书时代遇到美术课就头疼,因为要画素描图,可能是自己对美术没什么天赋吧。如今 P 图工具也很常见,可以把一张图片 P 成素描图。自从会了 Python 之后,我就没用过 PS 了!今天我用 Python 把图片变成素描图片。我选了一张图片,运行代码后处理效果如下:

项目环境

语言:Python 3.6

编辑器:PyCharm

安装导入

Pillow 库,PIL的前身,全称是 Python Imaging Library,是 Python 平台的图像处理标准库。由于 PIL 仅支持到 Python 2.7,之后就创建了兼容的版本,名字叫 Pillow,支持最新 Python 3.x,又加入了许多新特性,因此,我们可以直接安装使用Pillow。

Python

pip install pillow

1

pipinstallpillow

在编辑器中导入需要的方法。

Python

from PIL import Image, ImageFilter, ImageOps

1

fromPILimportImage,ImageFilter,ImageOps

代码分析

在分析前我们先来了解一个概念:RGB 色彩模式。RGB 色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。

常见颜色的 RGB 值如下图所示。

返回公式中和 255 的最小值。此处需要给下面转换为像素时调用。

Python

def dodge(a, b, alpha): # 图像组成:红绿蓝(RGB)三原色组成

return min(int(a * 255 / (256 - b * alpha)), 255)

1

2

defdodge(a,b,alpha):# 图像组成:红绿蓝(RGB)三原色组成

returnmin(int(a*255/(256-b*alpha)),255)

将图片转换为灰色,复制一张同样的图片并转换为反色图片处理。增加模糊度后最后转换为像素并保存在指定目录下,保存的路径需要改成你自己的路径,否则会报错,详细注释见代码。

使用 Image 模块中的 open 函数打开你需要处理的图片,图片路径换成你需要处理的图片目录,调用函数即可完成素描图的转换。

Python

img = Image.open('E:\\sketch\\me.jpg') # 使用Image模块中的open函数打开一张图片

draw(img)

1

2

img=Image.open('E:\\sketch\\me.jpg')# 使用Image模块中的open函数打开一张图片

draw(img)

在我的公众号「Python知识圈」回复「素描」获取本项目源码。

python图画制作_用Python把照片制作成素描图片相关推荐

  1. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  2. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  3. 用python做一张图片_用Python把照片制作成素描图片

    pk 哥读书时代遇到美术课就头疼,因为要画素描图,可能是自己对美术没什么天赋吧.如今 P 图工具也很常见,可以把一张图片 P 成素描图.自从会了 Python 之后,我就没用过 PS 了!今天我用 P ...

  4. python实现动态地图_使用Python、Geopandas和Matplotlib制作gif动态地图

    不需要Photoshop:仅使用Python和命令行制作动画图表. 作为一种编程语言,Python非常灵活.这使得有时可以在几行代码中进行大量不同的可视化成为可能.但是现在有了很多不同的图表网站和软件 ...

  5. python画生日_使用PYTHON制作一个生日查看器

    python中的字典说白了就是一个键值对,birthdays = {'张三': '12月1日', '李四并': '11月23日', '普通': '6月2日'} 通过键取得值的内容,例如birthday ...

  6. python 创意项目_针对python开发人员的10个很棒的python项目创意

    python 创意项目 The joy of coding Python should be in seeing short, concise, readable classes that expre ...

  7. python 免费空间_用python做大数据

    不学Python迟早会被淘汰?Python真有这么好的前景? 最近几年Python编程语言在国内引起不小的轰动,有超越Java之势,本来在美国这个编程语言就是最火的,应用的非常非常的广泛,而Pytho ...

  8. python集群_使用Python集群文档

    python集群 Natural Language Processing has made huge advancements in the last years. Currently, variou ...

  9. python 网页编程_通过Python编程检索网页

    python 网页编程 The internet and the World Wide Web (WWW), is probably the most prominent source of info ...

最新文章

  1. PCA的数学原理(通俗易懂)
  2. stlink 升级固件以后失败_介绍几种ST-Link差异 固件升级的方法和应用
  3. A5-1和DES两个加密算法的学习
  4. 解决谷歌浏览器所有页面崩溃问题
  5. c调用其他类的方法_吊打面试官-类加载器
  6. 在WinForm中屏蔽中文输入法
  7. android右滑返回动画,Android仿微信右滑返回功能的实例代码
  8. C语言断言assert详解
  9. SQL - 插入数据
  10. 教你查看网页的记住密码和免费下载付费音乐
  11. 小米2S稳定版 教你如何一键ROOT
  12. python 返回列表长度_Python通过len函数返回对象长度
  13. EasyExcel实现excel导出【设置自定义样式--案例分析】
  14. tempo jsnode扩展 3d图形支持。
  15. linux ftp中文乱码方块,ubuntu14.04下手工编译texmacs,解决中文显示为方块及输入法问题...
  16. 带农历和法定节假日的 日历控件_带节日和农历的js日历
  17. java date 时分秒_java Date获取年月日时分秒的实现方法
  18. Teams Bot App 初探
  19. OSPF路由实验+ASBR+ABR实验
  20. 2023前端面试题------JS 面试题(2) es6

热门文章

  1. 阶跃函数和冲击函数相关性质及傅立叶变换求取方法
  2. matlab按顺序排列图片,小技巧
  3. Ubuntu 16.04网速慢解决方法
  4. [云炬创业基础]创业过程
  5. Sci-Hub和 Alexandra 的基本信息
  6. 第04课:深度学习框架 PyTorch
  7. 独家干货 | 林轩田机器学习课程精炼笔记!
  8. python黑色的_python – 将RGB转换为黑色或白色
  9. PIC单片机入门_PICC头文件介绍
  10. [OS复习]进程互斥与同步2