При использовании метода пороговой бинаризации возможны большие ошибки (отклонения от исходного изображения). Например, область, где яркость всех пикселей чуть ниже порога, станет полностью чёрной. Однако если в такой области чередовать чёрные и белые пиксели, то визуально область будет казаться серой. Меняя соотношение ч/б пикселей, можно манипулировать градациями серого.
При пороговой бинаризации цвет пикселя определяется как
O(x,y) = (I(x,y)<A ? 0 : Imax)
При этом возникает ошибка
Е(x,y) = I(x,y) – O(x,y)
E(x,y) = I(x,y)<A ? I(x,y) : I(x,y) – Imax
Ошибка Е показывает, насколько цвет стал светлее (E<0) или темнее (E>0), чем в исходном изображении. Алгоритм Флойда-Стейнберга учитывает величину ошибки, добавляя её к исходной интенсивности соседних пикселей. Таким образом, ошибка распространяется, и “соседи” пытаются её компенсировать.
for (x = xmin; x < xmax-1; x++)
for (y = ymin; y < ymax-1; y++)
{
if (I[x,y] < A)
{ Out[x,y]=0; E=I[x,y]; }
else
{ Out[x,y]=1; E=I[x,y]-Imax; }
I[x+1,y]+=E*3/8;
I[x,y+1]+=E*3/8;
I[x+1,y+1]+=E/4;
}
Пример работы алгоритма (слева — исходное изображение, справа — после обработки):
В отличие от пороговой бинаризации, в данном методе порог не фиксирован, а выбирается из матрицы пороговых значений (возбуждений) размером 2Lx2L, где L определяется исходя из размеров изображения. Изображение разбивается на квадраты такого же размера, яркость каждого пикселя каждого квадрата сравнивается с соответствующим ему значением в матрице D. Если она меньше, чем в матрице, то пиксель делается черным, иначе — белым.
Требования к матрице пороговых значений:
● Все элементы различны
● Значения должны быть равномерно распределены — это необходимо для равномерного распределения ч/б пикселей в выходном изображении.
● Размер матрицы D кратен двум.
Матрица строится по формуле:
где M — максимальная яркость. В двумерном случае:
в n-мерном:
где UN — матрица размерности N, состоящая из единиц.
16. Имитация цветов за счёт увеличения разрешения растра (маскирование)
Сочетание ч/б пикселей выбирается исходя из цвета серого пикселя, каждому цвету ставится в соответствие своя комбинация. Существует (n2+1) градаций яркости. Отдельно взятая конфигурация похожа на серый цвет, но при рассмотрении группы может возникнуть микроузор — некий фоновый рисунок из-за совмещения узоров, которыми заменяли серые пиксели. Иногда нужно от него избавится (если хотим получить реалистичное изображение), иногда он нужен (см. НФР).