Вероятно, это ошибка: число должно быть равно 9. - Примеч. пер.
10.9. Увеличение количества цветов и оттенков Матрицы большей размерности - четыре на четыре, восемь на восемь и т. д. - могут быть сформированы из матрицы два на два D[][] с помощью рекурсивного соотношения (см. упражнения в конце раздела).
Размытие увеличивает разрешение интенсивности за счет пространственного разрешения; кроме того, создается впечатление, что к изображению добавляются некоторые «шумы». Существует много альтернативных технологий размытия, в которых делаются попытки преодолеть эти искажения. В работе [Knuth, 124] содержится хороший обзор этих методов наряду с некоторыми усовершенствованиями.
Размытие на многоуровневых и цветных дисплеях
Размытие можно применять и в тех случаях, когда дисплей поддерживает более двух оттенков серого цвета [Schumacher, 187] или является цветным. Возможен целый ряд вариантов, однако мы дадим основную идею метода на конкретном примере. Предположим, что исходное изображение содержит пикселы со значениями от 0 до 255 и отображает 256 оттенков серого цвета. Предположим далее, что мы должны представить это изображение на устройстве, поддерживающем только 8 оттенков серого: 0,1,…, 7. Один из способов сделать это - обычное установление порогов: мы находим значение дисплейного пиксела D, ближайшее к каждому «истинному» значению пиксела Р, затем просто делим на 32 и отбрасываем остаток. Эти операции выполняются с помощью следующего кода:
D = (int)(P/32): // get the closest value below // берем ближайшее меньшее значение ifCP - 32 * D >- 16) // Is error too big for this D? // На слишком ли велика ошибка для этого D? D++:
// yes: use the next biggest
// велика - берем следующее большее значение Во второй строке кода производится проверка: не является ли следующее отображаемое на дисплее значение лучшим приближением, чем текущее значение; для этого «ошибка» Р - 32 * D сравнивается с пороговым уровнем 16. Если ошибка больше 16, то значение D увеличивается на единицу.