Главная » Backend » Какой фильтр использовать в Pillow для уменьшения картинок?
2018/05/17Метки:

Какой фильтр использовать в Pillow для уменьшения картинок?

Большинство python-разработчиков при работе с изображениями используют в своих проектах библиотеку Pillow, перекрывающую подавляющее большинство задач, решаемых при разработке сайтов. Она поддерживает работу с наиболее популярными форматами в вебе — JPG, PNG, GIF.

Наиболее частая операция — изменение размеров картинки. Например, на вход подаётся изображение большого размера, а на выходе требуется получить маленькую превьюшку. С этой задачей легко справляется метод resize. Вторым аргументом функция принимает фильтр, определяющий алгоритм даунскейлинга картинки. От его выбора зависит качество результирующего изображения. Многие разработчики используют фильтр Bicubic — new_image = new_image.resize((width_custom, height_custom), Image.BICUBIC). Однако по факту гораздо лучшее сглаживание контрастных частей картинки даёт фильтр Lanczos.

На примере выше показан результат обработки картинки фильтрами Bicubic (слева) и Lanczos (справа). Уменьшение картинки с помощью фильтра Bicubic приводит к тому, что белая диагональная контрастная линия становится прерывистой, почти пунктирной.

Однако есть минус в масштабировании картинки фильтром Lanczos — размер итоговой картинки получается процентов на 10-15 больше, чем при сжатии картинки фильтром Bicubic.

Метки: Метки:
Понравилась статья? — Ставь лайк!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

×
Новости и обзор новинок рынка строительной техники.
Подпишитесь на обновления нашей группы!