Python日课-3.1-pillow滤镜初识
曾老师的 Python 课(链接可点击) 第一课的所有内容已经全部发布,包括课程 PPT、课程视频都可以免费获取,可以使用微信扫描下面的二维码进群获取。
这套课程有两条教学线:
现场教学,约两周一次,每次一小时,主要为实际案例的讲解。
微信群教学,每日一次,由易到难讲解 Python 知识点,Python 相关的小故事,业界八卦,IT 行业最新信息。
Python 日课 2021-01-18:Pillow 滤镜初识。
各位同学大家好哇,今天周一,我们的 Python 课堂又来啦。
在上周三的课程 Python日课-2.4-pip的使用 中,我们安装了 pillow 库,今天我们就来看看 pillow 能干点啥。
pillow 是一个开源的图像处理库,虽然是一个外部库,但它已经成为了 Python 事实上的图像处理标准。Pillow 的官网在这里:
https://pillow.readthedocs.io/en/stable/
如果你更喜欢看中文文档的话,可以参考这里:
https://pillow-cn.readthedocs.io/zh_CN/latest/
我们使用最新的 Pillow 8.1 来做讲解,中文文档是基于 Pillow 2.4 翻译的。
完成今天的课程,曾老师准备了两张图片:
图像 2: 前台.jpg
图像 3: 餐厅.jpg
没错,这两张图片就是 SAGI GAMES (https://sagigames.cn)现场用手机拍摄的。
为了方便讲述,我们所有的代码均位于 pycourse 文件夹中,这两张照片位于
文件夹中,结构如下:图像 4: pycourse 文件夹结构
文件的作用是将 「餐厅.jpg」进行高斯模糊处理,处理后的文件名为「餐厅_高斯模糊_10.jpg」。
图像 5: 餐厅_高斯模糊_10.jpg
文件的作用是将「前台.jpg」进行模式滤镜处理,处理后的文件名为「前台_模式_10.jpg」。
图像 6: 前台_模式_10.jpg
的内容如下:
# 曾老师的 Python 课
# 课程地址:https://blog.zengrong.net/tag/pythoncouse/
# 课程内容:2021-01-18 pillow 高斯模糊滤镜
# 高斯模糊滤镜文档:https://pillow.readthedocs.io/en/4.1.x/reference/ImageFilter.html#PIL.ImageFilter.GaussianBlur
from pathlib import Path
from PIL import Image
from PIL.ImageFilter import GaussianBlur
# 当前文件所在文件夹
basedir = Path(__file__).parent
# 原始图像文件
sfile = basedir.joinpath('assets/餐厅.jpg')
# 目标图像文件
tfile = basedir.joinpath('assets/餐厅_高斯模糊_10.jpg')
# 创建一个高斯模糊滤镜对象,模糊半径为 10
gb = GaussianBlur(radius=10)
# 打开原始图像
simg = Image.open(sfile)
# 对原始图像文件使用滤镜,返回一个目标图像
timg = simg.filter(gb)
# 将应用过滤镜的图像文件保存到目标图像文件中
timg.save(tfile)
的内容如下:
# 曾老师的 Python 课
# 课程地址:https://blog.zengrong.net/tag/pythoncouse/
# 课程内容:2021-01-18 pillow 模式滤镜
# 模式滤镜文档:https://pillow.readthedocs.io/en/4.1.x/reference/ImageFilter.html#PIL.ImageFilter.ModeFilter
from pathlib import Path
from PIL import Image
from PIL.ImageFilter import ModeFilter
# 当前文件所在文件夹
basedir = Path(__file__).parent
# 原始图像文件
sfile = basedir.joinpath('assets/前台.jpg')
# 目标图像文件
tfile = basedir.joinpath('assets/前台_模式_10.jpg')
# 创建一个模式滤镜对象,size 为 10
gb = ModeFilter(size=10)
# 打开原始图像
simg = Image.open(sfile)
# 对原始图像文件使用滤镜,返回一个目标图像
timg = simg.filter(gb)
# 将应用过滤镜的图像文件保存到目标图像文件中
timg.save(tfile)
分别执行:
python pillow1.py
python pillow2.py
就可以使用滤镜生成新的图像啦!生成的图像位于
文件夹中。今天的课程就到这里啦,欢迎大家到群里讨论。
请点击「阅读原文」下载源码附件。