Python图像处理函数及其使用:Pillow库的常用函数介绍
Python中图像处理的库有很多,其中比较常用的是Pillow库。这个库是Python Imaging Library的升级版,提供了更多的图像处理函数和更好的性能。
在本文中,我们将介绍Pillow库中比较常用的函数及其使用方法。
1. 打开和保存图像
Pillow库提供了Image模块来处理图像。可以使用open()函数打开一张图像,使用save()函数保存一张图像。例如:
from PIL import Image
# 打开图像
im = Image.open("image.jpg")
# 保存图像
im.save("new_image.jpg")
2. 图像缩放
Pillow库中提供了resize()函数来缩放图像。可以将图像缩放成指定大小或按比例缩放。例如:
from PIL import Image
# 打开图像
im = Image.open("image.jpg")
# 缩放到指定大小
im_resized = im.resize((300, 200))
# 按比例缩放
im_resized = im.resize((500, 0))
3. 图像裁剪
Pillow库中的crop()函数可以进行图像裁剪。crop()函数接受一个四元组作为参数,分别指定左上角和右下角的坐标。例如:
from PIL import Image
# 打开图像
im = Image.open("image.jpg")
# 裁剪图像
im_cropped = im.crop((100, 100, 300, 300))
4. 图像旋转
Pillow库中的rotate()函数可以进行图像旋转。rotate()函数接受一个角度作为参数,正值表示顺时针旋转,负值表示逆时针旋转。例如:
from PIL import Image
# 打开图像
im = Image.open("image.jpg")
# 顺时针旋转45度
im_rotated = im.rotate(45)
# 逆时针旋转90度
im_rotated = im.rotate(-90)
5. 图像反转
Pillow库中的transpose()函数可以进行图像反转。transpose()函数接受一个字符串作为参数,可以是"FLIP_LEFT_RIGHT"表示左右翻转,"FLIP_TOP_BOTTOM"表示上下翻转,或者"ROTATE_90"、"ROTATE_180"、"ROTATE_270"表示旋转90度、180度、270度。例如:
from PIL import Image
# 打开图像
im = Image.open("image.jpg")
# 左右翻转
im_flipped = im.transpose(Image.FLIP_LEFT_RIGHT)
# 上下翻转
im_flipped = im.transpose(Image.FLIP_TOP_BOTTOM)
# 旋转90度
im_flipped = im.transpose(Image.ROTATE_90)
6. 图像滤镜
Pillow库中的ImageFilter模块提供了很多图像滤镜,可以通过filter()函数来使用这些滤镜。例如:
from PIL import Image, ImageFilter
# 打开图像
im = Image.open("image.jpg")
# 应用模糊滤镜
im_blur = im.filter(ImageFilter.BLUR)
# 应用边缘增强滤镜
im_edges = im.filter(ImageFilter.FIND_EDGES)
7. 绘制图像
Pillow库中的ImageDraw模块提供了绘制图像的函数。可以使用text()函数来添加文本,使用line()函数来画线,使用rectangle()函数来画矩形,以此类推。例如:
from PIL import Image, ImageDraw, ImageFont
# 打开图像
im = Image.open("image.jpg")
# 创建一个绘制对象
draw = ImageDraw.Draw(im)
# 添加文本
font = ImageFont.truetype("arial.ttf", 36)
draw.text((100, 100), "Hello, world!", font=font)
# 画线
draw.line((0, 0, 200, 200), fill=128)
# 画矩形
draw.rectangle((100, 100, 300, 300), outline=(255, 0, 0))
# 显示图像
im.show()
总结
以上就是Pillow库中比较常用的函数及其使用方法。除此之外,Pillow库还提供了很多其他的图像处理函数,可以根据需要自行了解和使用。
