Python PIL: редактирование изображений с помощью библиотеки PIL
Python PIL (Python Imaging Library)
Python PIL (Python Imaging Library) - это мощная библиотека для обработки изображений в языке программирования Python. PIL предоставляет удобные функции и методы для работы с изображениями, включая их обрезку, изменение размера, наложение текста и фильтрацию. Давайте рассмотрим несколько примеров кода, чтобы увидеть, как использовать PIL для манипуляции с изображениями в Python.
1. Установка PIL:
Для начала работы с PIL вам необходимо установить его с помощью pip. Откройте терминал и выполните следующую команду:
pip install pillow
2. Открытие изображения:
PIL позволяет открывать различные форматы изображений, например, JPEG, PNG, TIFF и другие. Рассмотрим пример открытия изображения:
from PIL import Image
# Откроем изображение
image = Image.open("example.jpg")
# Выведем информацию об изображении
print(image.format)
print(image.size)
print(image.mode)
3. Изменение размера изображения:
PIL позволяет изменять размер изображений, сохранив при этом пропорции. Ниже приведен пример изменения размера изображения на 50%:
from PIL import Image
# Откроем изображение
image = Image.open("example.jpg")
# Изменим размер изображения
new_size = tuple([int(x/2) for x in image.size])
resized_image = image.resize(new_size)
# Сохраним измененное изображение
resized_image.save("resized_example.jpg")
4. Наложение текста на изображение:
PIL позволяет добавлять текст на изображение. В следующем примере мы наложим текст "Hello, World!" на изображение:
from PIL import Image, ImageDraw, ImageFont
# Откроем изображение
image = Image.open("example.jpg")
# Создадим объект ImageDraw для рисования
draw = ImageDraw.Draw(image)
# Задаем шрифт и размер текста
font = ImageFont.truetype("arial.ttf", 40)
# Наложим текст на изображение
draw.text((50, 50), "Hello, World!", font=font, fill="red")
# Сохраним измененное изображение
image.save("text_example.jpg")
5. Применение фильтров к изображению:
PIL также позволяет применять различные фильтры к изображениям. Рассмотрим пример применения фильтра SEPIA к изображению:
from PIL import Image, ImageFilter
# Откроем изображение
image = Image.open("example.jpg")
# Применим фильтр SEPIA
sepia_image = image.filter(ImageFilter.SEPIA)
# Сохраним измененное изображение
sepia_image.save("sepia_example.jpg")
В этой статье мы рассмотрели только основные примеры использования PIL в Python. Однако библиотека предоставляет еще множество других возможностей, таких как обрезка изображений, изменение яркости и контрастности, наложение эффектов и многое другое. Рекомендуется изучить документацию PIL для получения более подробной информации о возможностях библиотеки.