Перейти к основному контенту

Дизеринг по шаблону

Алгоритмов для смешивания черных и белых клеточек для создания эффекта полутонов придумано огромное количество, но самое широкое распространение получили два:

  1. Дизеринг по шаблону
  2. Дизеринг на основе распределения коррекции цвета на соседние клетки изображения

Сегодня мы рассмотрим первый.

В качестве исходного изображения возьмем градиент из черного в белый размером 16x16 клеточек:

image.png

У серого цвета фактически нет цвета как такового, поэтому мы будем оперировать понятием яркости. Яркость серого может варьироваться от 0 (черный цвет) до 255 (белый цвет). На картинке ниже в каждой клеточке подписаны соответствующие значения яркости:

image.png

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

Давайте попробуем нашу картинку превратить в черно-белую с порогом 120:

image.png

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

То же самое происходит и с цветными картинками, когда их преобразуют в черно-белые однобитные с помощью такой же методики:

image.png

Но у человеческого глаза есть особенность, которую можно использовать для создания изображений, имитирующих отсутствующие на самом деле полутона: он воспринимает несколько точек как единое целое. Обратите внимание на следующее изображение:

image.png

Создается впечатление, будто в нем множество оттенков серого цвета, но на самом деле оно составлено только из точек черного или белого!

Такое смешивание точек ограниченного количества цветов для имитации полутонов называется дизеринг (dithering).

Подобная техника активно использовалась в типографии, чтобы можно было печатать фотографии даже в черно-белых газетах и книгах.

Алгоритмов, позволяющих имитировать полутона, придумано огромное множество, сегодня рассмотрим самый простой из них - дизеринг по шаблону.