一、前言
现在我们都喜欢给图片添加滤镜,现在很多相机也自带了许多滤镜。我们可以在拍照的时候选择需要的滤镜。但是有时候我们需要给大量图片添加同样的滤镜,这个时候手动添加就非常麻烦了。为了方便,我们可以使用程序来帮我们完成添加滤镜的操作。
二、Pillow中的滤镜
Pillow
模块中包含了许多图片操作,其中ImageFilter
模块就是专门用来添加滤镜的。里面内置了许多滤镜,包括模糊效果、细节、浮雕效果、平滑等。下面我们就来简单看看吧。
from PIL import Image, ImageFilter # 打开图片 img = Image.open("test.jpg") # 给图片添加模糊效果 gaussian = img.filter(ImageFilter.GaussianBlur) # 保存模糊后的图片 gaussian.save("1.jpg") 复制代码
原图和效果图对比如下:
网络异常,图片无法展示
|
可以看到右边的图片变的模糊了。其实这就是高斯模糊的操作。
除了模糊操作,Pillow
还包括了许多其它滤镜,大致如下:
滤镜值 | 滤镜名词 |
BLUR | 模糊效果 |
CONTOUR | 轮廓 |
DETAIL | 细节 |
EDGE_ENHANCE | 边缘增强 |
EDGE_ENHANCE_MORE | 边缘增强plus |
EMBOSS | 浮雕效果 |
FIND_EDGES | 寻找边缘 |
SMOOTH | 平滑 |
我们可以传入相应的值来给图片添加相应的滤镜。比如下面这个:
from PIL import Image, ImageFilter img = Image.open("test.jpg") # 添加浮雕滤镜 emboss = img.filter(ImageFilter.EMBOSS) emboss.save("1.jpg") 复制代码
这里我们使用了浮雕滤镜,效果如下:
网络异常,图片无法展示
|
可以看到出现了浮雕的效果。其它几个滤镜大家可以自己动手试一试。
三、给图片添加滤镜
现在假设我们有100张图片,我们要给这100张图片添加模糊效果,这个时候我们就可以进行下面的操作:
import os from PIL import Image, ImageFilter path = "D:\imgs" # 获取所有图片路径 imgs = [os.path.join(path, i) for i in os.listdir(path)] for img in imgs: im = Image.open(img) # 添加滤镜 gaussian = img.filter(ImageFilter.GaussianBlur) # 保存图片 gaussian.save(img) 复制代码
这样我们就完成了批量添加滤镜的操作。