欢迎访问宙启技术站
智能推送

Python图像处理:pillow库中的常用函数

发布时间:2023-10-06 21:47:23

Pillow是Python的一个图像处理库,它提供了许多常用的函数,可以用来处理图像。

加载和保存图像:

Pillow提供了open函数来加载图像,可以通过指定文件路径来加载图像文件。例如,可以使用以下代码加载名为"image.jpg"的图像:

from PIL import Image

img = Image.open("image.jpg")

加载图像后,可以用show函数显示图像,也可以用save函数保存图像。例如,可以使用以下代码保存图像:

img.save("output.jpg")

调整图像尺寸:

Pillow提供了resize函数来调整图像的尺寸。resize函数接受一个大小参数,可以传递一个元组表示新的图像尺寸。例如,可以使用以下代码将图像的尺寸调整为宽度为500像素,高度自适应:

img = img.resize((500, int(img.size[1] * (500 / img.size[0]))))

旋转图像:

Pillow提供了rotate函数来旋转图像。rotate函数接受一个角度参数,可以传递一个正值表示逆时针旋转,负值表示顺时针旋转。例如,可以使用以下代码将图像顺时针旋转90度:

img = img.rotate(-90)

裁剪图像:

Pillow提供了crop函数来裁剪图像。crop函数接受一个矩形区域作为参数,可以传递一个元组表示左上角和右下角的坐标。例如,可以使用以下代码裁剪图像的左上角区域:

img = img.crop((0, 0, 100, 100))

调整亮度和对比度:

Pillow提供了一个名为Enhance的子模块,该子模块提供了调整亮度和对比度的函数。可以使用以下代码调整图像的亮度和对比度:

from PIL import ImageEnhance

enhancer = ImageEnhance.Brightness(img)
img = enhancer.enhance(2)  # 2表示增加两倍的亮度

enhancer = ImageEnhance.Contrast(img)
img = enhancer.enhance(2)  # 2表示增加两倍的对比度

添加水印:

Pillow提供了一个名为ImageDraw的子模块,该子模块提供了添加文本和图形的函数。可以使用以下代码在图像上添加水印:

from PIL import ImageDraw, ImageFont

draw = ImageDraw.Draw(img)
text = "Watermark"

font = ImageFont.truetype("arial.ttf", 36)
textwidth, textheight = draw.textsize(text, font)
x = img.width - textwidth - 10
y = img.height - textheight - 10

draw.text((x, y), text, font=font)

这些是Pillow库中一些常用的函数。通过使用这些函数,可以对图像进行各种处理,如调整尺寸、旋转、裁剪、调整亮度和对比度,以及添加水印等。