2012-02-06 4 views
4

Иногда у меня есть истинное цветное изображение, используя алгоритм сглаживания, я могу уменьшить цвет до 256. Я хочу знать, как алгоритм сглаживания достигает этого.Хотите понять, почему алгоритм сглаживания может уменьшить глубину цвета?

Я понимаю, что сглаживание может уменьшить ошибку, но как алгоритм может уменьшить глубину цвета, особенно от истинного цвета до 256 цветов или даже меньше.

ответ

6

Dithering имитирует более высокую глубину цвета путем «смешивания» цветов в определенной палитре, чтобы создать иллюзию цвета, которого на самом деле нет. На самом деле, он делает то же самое, что и ваш компьютер-монитор уже делает: цвет, разложение в основные цвета и отображение их рядом друг с другом. Монитор вашего компьютера делает это с переменной интенсивностью красного, зеленого и синего цветов, в то время как сглаживание делает это с набором цветов с фиксированной интенсивностью. Так как ваш глаз имеет ограниченное разрешение, он суммирует входные сигналы, и вы воспринимаете средний цвет.

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

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

4

Dithering сам по себе не уменьшает количество цветов. Скорее, сглаживание применяется во время процесса уменьшения цветов, чтобы уменьшить артефакты уменьшения цвета.

Цвет, который находится на полпути между двумя другими цветами, может быть смоделирован шаблоном, который составляет половину одного цвета и половину другого. Это можно обобщить и на другие проценты. Цвет, который представляет собой смесь 10% одного цвета и 90% другого, может быть смоделирован, поскольку 10% пикселей являются первым цветом, а 90% пикселей - вторым. Это связано с тем, что глаз будет рассматривать случайные вариации как шум и усреднять их в общее впечатление о цвете области.

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

Процесс выбора наилучших 256 цветов для преобразования отличается от сглаживания.