фильтры к изображениям библиотеки Pillow

Использование встроенных фильтров для изображений в Pillow

Фильтры в библиотеке Pillow предоставляют мощные инструменты для обработки и улучшения изображений. От простых преобразований цветности до сложных эффектов, встроенные фильтры в Pillow открывают двери для креативной обработки графики. Рассмотрим основы работы с фильтрами и рассмотрим примеры их использования.

Встроенные фильтры

Pillow предоставляет широкий спектр встроенных фильтров, которые можно легко применять к изображениям.

Посмотрим, как отрабатывает каждый фильтр на примере одного изображения:

from PIL import Image, ImageFilter

# Открываем изображение
img = Image.open("example.jpg")

Исходное изображение:

BLUR (Размытие)
Фильтр BLUR применяет размытие к изображению, усредняя цвета пикселей и создавая эффект размытости.

blurred_img = img.filter(ImageFilter.BLUR)
blurred_img.show()

CONTOUR (Контур)
Этот фильтр выделяет контуры объектов на изображении, делая их более выразительными.

contour_img = img.filter(ImageFilter.CONTOUR)
contour_img.show()

DETAIL (Детализация)
Фильтр DETAIL повышает детализацию изображения, делая текстуры более заметными.

detail_img = img.filter(ImageFilter.DETAIL)
detail_img.show()

EDGE_ENHANCE (Повышение резкости границ)
EDGE_ENHANCE усиливает границы объектов, делая их более заметными.

enhanced_img = img.filter(ImageFilter.EDGE_ENHANCE)
enhanced_img.show()

EDGE_ENHANCE_MORE (Увеличение повышения резкости границ)
Увеличивает эффект повышения резкости границ, чем EDGE_ENHANCE.

more_enhanced_img = img.filter(ImageFilter.EDGE_ENHANCE_MORE)
more_enhanced_img.show()

EMBOSS (Тиснение)
EMBOSS создает эффект тиснения, подчеркивая высокие и низкие света на изображении.

embossed_img = img.filter(ImageFilter.EMBOSS)
embossed_img.show()

FIND EDGES (Выделение границ)
FIND_EDGES выделяет границы объектов, делая изображение чёрно-белым и подчеркивая контуры.

edges_img = img.filter(ImageFilter.FIND_EDGES)
edges_img.show()

SMOOTH (Сглаживание)
Фильтр SMOOTH применяет сглаживание к изображению, уменьшая резкость и выравнивая переходы цветов.

smooth_img = img.filter(ImageFilter.SMOOTH)
smooth_img.show()

SMOOTH MORE (Увеличение сглаживания)
Увеличивает эффект сглаживания, чем SMOOTH, создавая более мягкий вид.

more_smooth_img = img.filter(ImageFilter.SMOOTH_MORE)
more_smooth_img.show()

SHARPEN (Повышение резкости)
Повышает резкость изображения, выделяя детали и грани.

sharpened_img = img.filter(ImageFilter.SHARPEN)
sharpened_img.show()

BoxBlur (Коробочное размытие)
Производит размытие с использованием прямоугольного окна, что может быть полезно для создания эффекта мягкости.

box_blurred_img = img.filter(ImageFilter.BoxBlur(radius=5))
box_blurred_img.show()

GaussianBlur (Гауссово размытие)
Применяет размытие с использованием фильтра Гаусса, что создает более естественный эффект размытости.

gaussian_blurred_img = img.filter(ImageFilter.GaussianBlur(radius=2))
gaussian_blurred_img.show()

RankFilter (Фильтр ранга)
Применяет фильтр ранга к изображению, выделяя экстремальные значения и подавляя шум.

rank_filtered_img = img.filter(ImageFilter.RankFilter(size=3, rank=5))
rank_filtered_img.show()

MinFilter (Минимальный фильтр)
Применяет минимальный фильтр к изображению, сохраняя наименьшие значения пикселей.

min_filtered_img = img.filter(ImageFilter.MinFilter(size=3))
min_filtered_img.show()

MaxFilter (Максимальный фильтр)
Применяет максимальный фильтр к изображению, сохраняя наибольшие значения пикселей.

max_filtered_img = img.filter(ImageFilter.MaxFilter(size=3))
max_filtered_img.show()

Эти описания и примеры могут помочь вам выбрать подходящий фильтр для вашей конкретной задачи обработки изображений.

Здесь мы рассмотрели лишь обзор функциональности фильтров в Pillow. Чтобы узнать больше о настройке и параметрах, обратитесь к документации библиотеки.

Заключение

Использование фильтров в Pillow предоставляет множество возможностей для обработки изображений. От встроенных фильтров до создания собственных, библиотека делает процесс обработки изображений гибким и мощным инструментом.

Содержание: