Дизеринг Флойда — Стейнберга для изображения

Уменьшите число цветов на фото, сохранив иллюзию оттенков, с помощью алгоритма дизеринга Флойда — Стейнберга, который распределяет ошибку квантования на соседние пиксели. Настройте число уровней на канал и чёрно-белый режим.

Пример:
Перетащите изображение или нажмите, чтобы выбрать. Не более 25 МБ.

Как это работает

Каждый пиксель квантуется (округляется) до ближайшего доступного уровня цвета из выбранного числа уровней. Разница между исходным и округлённым значением (ошибка) затем распределяется на ещё не обработанные соседние пиксели (7/16 вправо, 3/16, 5/16 и 1/16 в следующей строке) по методу Флойда — Стейнберга 1976 года. Такое распределение создаёт точечную текстуру, которая визуально имитирует промежуточные оттенки, отсутствующие в сокращённой палитре.

Почему всего 2 уровня на канал дают вид «старой печати»?

При 2 уровнях каждый канал может принимать только минимальное или максимальное значение (чёрное или белое для одного канала). Получающийся точечный узор, передающий промежуточные серые, очень похож на вывод старых матричных принтеров или экранов с очень малой глубиной цвета.

Чем это отличается от простой постеризации?

Обычная постеризация округляет каждый пиксель независимо, не учитывая соседей, из-за чего появляются резкие цветовые полосы. Дизеринг Флойда — Стейнберга передаёт ошибку каждого пикселя его соседям, благодаря чему переходы получаются мягче, а граница между областями разных цветов менее резкой.

Вычисление распределения ошибки выполняется попиксельно прямо в вашем браузере: ваше фото никогда не отправляется на сервер.