Фильтры в библиотеке 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 предоставляет множество возможностей для обработки изображений. От встроенных фильтров до создания собственных, библиотека делает процесс обработки изображений гибким и мощным инструментом.
Содержание: