Pillow — это библиотека Python, позволяющая работать с изображениями. В этом уроке мы узнаем, как использовать Pillow для выполнения основных операций обработки изображений, таких как чтение, сохранение, изменение размеров и применение фильтров.
Теоретическая часть
Основные операции с изображениями
Изучите, как открывать, просматривать и сохранять изображения, а также как изменять их размеры, поворачивать и применять различные фильтры с помощью Pillow.
Работа с цветами и фильтрами
Узнайте, как изменять цвета изображений и применять фильтры для создания различных эффектов.
Примеры кода
# Пример изменения размера изображения и применения фильтра
from PIL import Image, ImageFilter
# Открытие изображения
image = Image.open('example.jpg')
# Изменение размера
resized_image = image.resize((300, 300))
# Применение фильтра размытия
blurred_image = resized_image.filter(ImageFilter.BLUR)
# Сохранение результата
blurred_image.save('blurred_example.jpg')
Практические задания
1. Создайте скрипт, который берет изображение и применяет к нему набор фильтров, сохраняя каждый результат в отдельный файл.
2. Напишите программу, которая создает коллаж из нескольких изображений, собирая их в одно большое изображение.
Решение задания
# Применение набора фильтров к изображению
from PIL import Image, ImageFilter
image = Image.open('example.jpg')
filters = [ImageFilter.BLUR, ImageFilter.CONTOUR, ImageFilter.EMBOSS]
for i, filter in enumerate(filters):
filtered_image = image.filter(filter)
filtered_image.save(f'filtered_example_{i}.jpg')
# Создание коллажа из изображений
from PIL import Image
images = [Image.open(f'image_{i}.jpg') for i in range(4)]
collage_width = sum(image.width for image in images)
max_height = max(image.height for image in images)
collage = Image.new('RGB', (collage_width, max_height))
x_offset = 0
for image in images:
collage.paste(image, (x_offset,0))
x_offset += image.width
collage.save('collage.jpg')