带着 Python 强大的 Pillow 库,踏上图像处理的精彩旅程吧!
Pillow 是一个 Python 库,以其打开、处理和保存多种图像文件格式而备受赞誉。
我们首先要进行安装。
pip install pillow
想要了解更多安装选项,前往 Pillow 文档。
既然 Pillow 已经安装好了,现在是时候进入一些基本用法了。
from PIL import Image
# 打开图像文件
img = Image.open('image.jpg')
# 显示图像
img.show()
给我们的图像增加一点刺激。
# 旋转图像
img_rotated = img.rotate(45)
img_rotated.show()
# 转为灰度图
img_gray = img.convert('L')
img_gray.show()
在我们完成基础操作后,让我们把修改后的图像保存起来。
img_rotated.save('rotated.jpg')
img_gray.save('gray.jpg')
随着我们的深入探索,让我们了解更高级的功能。我们将探索图像滤镜、颜色调整,以及在图像上添加文本的操作。了解这些高级功能,将会让你的图像处理水平达到 Python Pillow 的下一个层次。
Pillow 提供了大量的滤镜供你对图像进行处理。例如,我们来将 BLUR 滤镜应用于我们的图像。
from PIL import ImageFilter
# 应用 BLUR 滤镜
img_blur = img.filter(ImageFilter.BLUR)
img_blur.show()
你也可以调整图像的颜色。这里我们来增加图像的亮度。
from PIL import ImageEnhance
# 增加亮度
enhancer = ImageEnhance.Brightness(img)
img_bright = enhancer.enhance(2.0) # 增加亮度 2 倍
img_bright.show()
只需要调用 text
函数,就能简单地在图像上添加文本。让我们来在图像上添加一些文本。
from PIL import ImageDraw, ImageFont
# 在图像上绘制文本
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('arial.ttf', 15) # 使用 Arial 字体,大小为 15
draw.text((10, 10), "Hello, Pillow!", font=font)
img.show()
Pillow 是一个强大而多功能的 Python 图像处理库。它本质上是较旧的 PIL(Python Imaging Library)库的进化版本,提供广泛的文件格式支持、高效的内部表示以及强大的图像处理能力。从读取、写入、显示图像等简单任务,到图像滤镜、裁剪、调整大小、旋转和颜色处理等复杂操作,Pillow 都能应对自如。对于处理图像数据并需要以简单高效的方式进行转换和修改的 Python 程序员来说,Pillow 是必不可少的工具。
from PIL import Image, ImageFilter, ImageEnhance, ImageDraw, ImageFont
# 打开图像文件
img = Image.open('image.jpg')
# 旋转图像
img_rotated = img.rotate(45)
img_rotated.save('rotated.jpg')
# 转为灰度图
img_gray = img.convert('L')
img_gray.save('gray.jpg')
# 应用 BLUR 滤镜
img_blur = img.filter(ImageFilter.BLUR)
img_blur.show()
# 增加亮度
enhancer = ImageEnhance.Brightness(img)
img_bright = enhancer.enhance(2.0) # 增加亮度 2 倍
img_bright.show()
# 在图像上绘制文本
draw = ImageDraw.Draw(img)
font = ImageFont.truetype('arial.ttf', 15) # 使用 Arial 字体,大小为 15
draw.text((10, 10), "Hello, Pillow!", font=font)
img.show()
1. 如果遇到 "No module named 'PIL'" 的错误怎么办?
确保 Pillow 安装正确。重新执行 pip install pillow
可能能解决问题。
2. 我可以在除了 .jpg 之外的文件格式中使用 Pillow 吗? 当然可以!Pillow 支持广泛的图像文件格式。
3. 如何调整图像的大小?
使用 resize()
函数即可。像这样使用:img_resized = img.resize((新宽度, 新高度))
。
4. 如果我想以不同的角度旋转图像怎么办?
只需在 rotate()
函数中更改数字。例如,img.rotate(90)
将图像旋转 90 度。
5. 在 convert 函数中,'L' 代表什么意思? 'L' 代表 'luminance'(亮度),这是一个复杂的术语,表示灰度或黑白。
[Python] 通过多种示例深入了解位运算符 |
---|
[Python] 通过多种示例深入了解关系运算符 |
[Python] 解决 'zsh: command not found: python' 错误的方法 |
[Python] 通过多种示例深入了解赋值运算符 |
[Python] 通过多种示例深入了解算术运算符 |
CloneCoding
创新从一行代码开始!