Белый цвет — интересный цвет с точки зрения цифрового представления. В вычислениях цвета часто представляются с помощью цветовой модели RGB, которая определяет цвет с точки зрения его красного, зеленого и синего компонентов. Каждый компонент представлен числом от 0 до 255, где 0 представляет отсутствие интенсивности этого цвета, а 255 представляет полную интенсивность. Так какое же число представляет белый цвет — 0 или 255? Ответ заключается в том, что оба могут представлять белый цвет в зависимости от контекста.
Давайте сначала разберемся, как работает цветовая модель RGB. Значение цвета RGB записывается как (R, G, B), где R, G и B — целые числа от 0 до 255, представляющие красный, зеленый и синий компоненты соответственно. Например:
| Цвет | Значение RGB |
| Красный | (255, 0, 0) |
| Зеленый | (0, 255, 0) |
| Синий | (0, 0, 255) |
Смешивая разное количество красного, зеленого и синего света, мы можем получить большинство цветов, которые может воспринимать человеческий глаз. Например, равное количество красного, зеленого и синего света дает белый цвет:
(255, 255, 255)
Это представляет полную интенсивность красного, зеленого и синего света, смешанного вместе. Сложение света всех цветов дает белый цвет.
В цвете RGB 0 представляет отсутствие света. Поэтому (0, 0, 0) представляет черный цвет:
| Цвет | Значение RGB |
| Черный | (0, 0, 0) |
Без интенсивности красного, зеленого или синего света результат будет черным.
Так что в этом смысле 0 представляет белый цвет — отсутствие всякого света.
Но мы также видели ранее, что (255, 255, 255) представляет белый цвет. Здесь 255 используется для представления максимальной интенсивности красного, зеленого и синего света, сложенных вместе.
Так что в этом смысле 255 представляет белый цвет, когда речь идет об объединении полной интенсивности всех цветов света.
То, представляет ли 0 или 255 белый цвет, также зависит от битовой глубины, используемой для представления каждого цветового канала. Например:
| Битовая глубина на канал | Максимальное значение |
| 8 бит | 255 |
| 16 бит | 65 535 |
При 8 битах на канал максимальное значение равно 255. Но при 16 битах на канал максимальное значение намного выше — 65 535.
Таким образом, в 8-битном цветовом пространстве RGB 255 представляет полную интенсивность и, следовательно, белый цвет. Но в 16-битном цветовом пространстве RGB 65 535 будет представлять белый цвет.
Количество бит, используемых для каждого цветового канала, определяет максимально возможное значение. Таким образом, значение, представляющее «белый», зависит от этой битовой глубины.
Вкратце:
Таким образом, хотя и 0, и 255 могут представлять белый цвет в разных контекстах, 0 чаще ассоциируется с черным цветом в цвете RGB. А 255 (или максимальное значение) чаще ассоциируется с белым в цветовом пространстве RGB с глубиной цвета 8 бит на канал.
Вот несколько примеров того, как белый и черный представлены в обычных программах для редактирования и обработки изображений:
| Цвет | Значение RGB |
| Черный | (0, 0, 0) |
| Белый | (255, 255, 255) |
По умолчанию Photoshop использует цвет RGB с глубиной цвета 8 бит на канал. Таким образом, черный цвет — это (0, 0, 0), а белый — это (255, 255, 255).
OpenCV представляет интенсивность пикселей в диапазоне от 0 до 255. 0 представляет черный цвет, а 255 представляет белый цвет.
Большинство цифровых изображений используют 8-битный цвет RGB. Таким образом, 0 — это черный цвет, а 255 — это белый цвет полной интенсивности. JPEG и PNG следуют этому соглашению.
В CSS и HTML черный цвет определяется как rgb(0, 0, 0), а белый — как rgb(255, 255, 255). Снова следуя соглашениям 8-битного RGB.
Есть некоторые случаи, когда 0 может представлять белый цвет в цвете RGB:
Но эти случаи встречаются реже, чем стандартный 8-битный RGB. Поэтому в большинстве случаев 0 будет представлять черный цвет, а 255 (или максимальное значение) будет представлять белый цвет.
Подводя итог, можно сказать, что хотя и 0, и 255 могут представлять белый цвет в цвете RGB, соглашения таковы:
Поэтому в большинстве современных приложений цифровой обработки изображений, использующих 8-битный цвет RGB, 0 представляет черный цвет, а 255 представляет белый цвет. Интерпретация зависит от контекста и используемого цветового пространства. Но 0 как черный цвет и 255 как белый цвет является наиболее распространенным соглашением.