Разница между None, Linear, Cubic и Sinc (Lanczos3) интерполяцией в масштабировании изображения?

57

При масштабировании изображений в GIMP в разделе « Качество » мне было предложено выбрать одну из следующих интерполяций:

  • Никто
  • линейный
  • кубический
  • Sinc (Lanczos3)

В чем разница между ними и какой из них является лучшим с точки зрения качества / без потерь?

Кровоточащие пальцы
источник
Я предпочитаю уменьшать масштаб Lanczos - великолепная резкость на фотографии.
Кайл

Ответы:

43

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

Нет: используется алгоритм ближайшего соседа. После масштабирования сглаживания нет.
Линейный : касающие пиксели усредняют свои значения.
Куб . Касательные пиксели усредняют свои значения, поэтому центральные пиксели поддерживают наибольшее значение.
Ланцош : Пиксели передаются в алгоритм, который усредняет их цвет / альфа с использованием функций sinc (аналогично интерполяции синусов, в некоторой степени похожей на кубическую).

Ни один из этих алгоритмов не является прямым, как описано в ссылках. Вместо этого было бы лучше перечислить ситуации, в которых вы больше всего хотели бы использовать одну над другой:

Нет (ближайший сосед): используйте, если вы хотите, чтобы изображение не было полностью размытым.

Линейный: используйте, когда у вас очень маленький текст; кубическая интерполяция обычно лучше в противном случае. Это приводит к размытым, но неровным краям.

Куб. Используется для большинства изображений. Если изображение не очень маленькое или невероятно детализированное, кубическая и бикубическая интерполяция помогают сохранять гладкие края. Согласно Википедии, это может иногда увеличивать воспринимаемый контраст или вызывать артефакты.

Ланцош: Этот метод интерполяции очень похож на кубический, за исключением того, что вместо размытия он создает шаблон «звонка». Преимущество заключается в том, что он может обрабатывать детальную графику без размытия, как кубические фильтры.

Я предпочитаю ближайшего соседа для пиксельной графики, линейного или lanczos для мелкого текста и кубического для всего остального. Этот выбор субъективен и ни в коем случае не является «правильным» использованием алгоритмов.

person27
источник
1
Lanczos Windowed Sinc явно превосходит в большинстве случаев. Но может быть не оптимальным иметь фильтр Ланцоша шириной 3 пикселя. Это может вызвать жесткие звуки.
joojaa
Я думаю, что ближайший сосед действительно объективно подходит (или, по крайней мере, значительно лучше, чем Linear, Cubic и Lanczos) для пиксельной графики.
JamesTheAwesomeDude
12
Для удобства сравните: tanbakuchi.com/posts/…
andras.tim