ANTIALIAS vs BICUBIC в PIL (Библиотека изображений Python)?

Я использую PIL для изменения размеров моих изображений, мой случай – увеличить исходное изображение.

Я смущен алгоритмом, используемым с `resample = ANTIALIAS '.

Согласно приведенному ниже документу, ANTIALIAS , по-видимому, является лучшим при сокращении. Интересно, в каком случае BICUBIC может выиграть? (Некоторые из моих тестов показывают, что бикубический выбор лучше)

 An optional resampling filter. This can be one of NEAREST (use nearest neighbour), BILINEAR (linear interpolation in a 2x2 environment), BICUBIC (cubic spline interpolation in a 4x4 environment), or ANTIALIAS (a high-quality downsampling filter). If omitted, or if the image has mode “1” or “P”, it is set NEAREST. 

Я также запутался в linear interpolation in a 2x2 environment и cubic spline interpolation in a 4x4 environment в документе. Что это значит?

Благодарю.

  • Нет модуля с именем PIL
  • Измените цвет всех пикселей на другой цвет
  • Python: как вы создаете массив с информацией о каждом пикселе из изображения?
  • PIL и Bitmap из WinAPI
  • Открыть и отобразить файл .png в python с помощью PIL
  • Python - пакет, установленный с easy_install, не обнаружен (PIL 1.1.7)
  • Как настроить локальный каталог библиотеки python / PYTHONPATH?
  • PIL image.open () работает для некоторых изображений, но не для других
  • 2 Solutions collect form web for “ANTIALIAS vs BICUBIC в PIL (Библиотека изображений Python)?”

    Они перечислены в порядке наименьшей сложности. Между ними будут визуальные различия. Основное различие будет заключаться в том, как долго выполняется алгоритм для выполнения.

    Вам нужно будет решить, что для вас важно, скорость или качество. Если вы делаете только 5 изображений, идите на качество. Если вы делаете 100 000 изображений, возможно, идите на скорость. Это действительно зависит от того, для чего вы его используете.

    Окружающая среда 2×2 и 4×4 означает, что алгоритм просматривает пиксельную область 2×2 или 4×4.

    Теперь я перешел к источнику, чтобы выяснить детали. Я не очень доволен увиденным.

    Во-первых, BICUBIC . Существует ряд формул, которые можно классифицировать как бикубические, наиболее распространенными из которых являются интерполяция Катмулла-Рома. Это не то, что использует PIL. Дон Митчелл и Арун Нетравали написал статью, в которой анализируются все вариации и характеризуются ими с использованием двух переменных B и C; тот, который используется PIL, соответствует B = 0 и C = 1. В статье Митчелла-Нетравали это явно находится в области артефакта звонка. Это означает, что увеличенные изображения будут иметь неестественные яркие или темные ореолы вокруг краев.

    Далее – ANTIALIAS . Это основано на фильтре Lanczos-3, который обычно был бы хорошим выбором как для сокращения, так и для увеличения. К сожалению, есть ошибка в коде при повышении – вместо того, чтобы принимать в области 6х6 пикселей, чтобы вычислить результат, он усечен в 2×2 пикселя. Это делает его едва лучше, чем билинейный.

    Python - лучший язык программирования в мире.