Я знаком с аддитивным (RGB), субстративным (CMYK) и HSV-подобными цветовыми пространствами, но статья, которую я сейчас пытаюсь понять, работает с цветовым пространством YCbCr для сегментации изображения / определения объекта.
Я провёл большую часть утра в поисках чего-то, что могло бы объяснить YCbCr естественным образом, но я просто не понимаю. Я получил хороший, интуитивное объяснение общей идеи позади этого цветового пространства здесь , и объяснение того , как она используется для кодирования изображения / сжатия от этих ребят (все на photo.SE).
Формулы для расчета YCbCr из RGB легко доступны в Википедии .
Я получил мотивацию для этого представления, я понял, что Y-компонент содержит самую важную (для человеческого глаза) полутоновую информацию об изображении.
Я понял, что Cb и Cr несут информацию о цветах , и что (из-за чувствительности человеческого глаза (не)) они могут быть сжаты без видимой потери качества. Но что на самом деле представляет каждый из компонентов цветности?
Поскольку авторы статьи упоминают, что «информация о цветности имеет первостепенное значение в определении объектов» в их подходе, и я не могу полностью понять, что я читаю с моим текущим уровнем «Y - интенсивность, Cb и Cr как-то несут информацию о цвете» уровня понимание YCbCr.
Я ищу ответ в виде строки «Cb - это ..., а Cr - это ...» или «если вы представляете, просматривая / используя XY, вы на самом деле смотрите на компонент Cb ...», или другой способ, который помог бы мне понять информацию, передаваемую каждым из компонентов в отдельности, а не только то, что они вместе несут информацию о цвете.
РЕДАКТИРОВАТЬ
Позвольте мне привести примеры интуитивных объяснений для других цветовых пространств типа, который я ищу:
RGB : Как светить цветным фонариком на черной стене: если ты светишь синим фонариком, ты видишь синее отражение. Если вы добавите красный фонарик, он покажет пурпурное отражение, представляющее собой смесь синего и красного.
CMYK : Подобно смешиванию акварелей, вы «добавляете к цветам, которые отражает поверхность» (т.е. вычитаете цвет из фона), поэтому, если вы смешаете желтый с голубым, if будет отражать зеленый, и, таким образом, вы получите зеленый цвет.
ВПГ : Маленьких детей привлекают очень насыщенные объекты, а не яркие (ценность). Компонент Hue - это то, что «дает цвет», а низкая насыщенность означает, что цвет «разбавляется» белым. Изменение стоимости делает все это ярче или темнее.
Благодаря этим определениям я смог получить интуитивное представление о том, что означает цветовое представление в каждом цветовом пространстве, без запоминания диаграмм для каждого из них.
источник
Не уверен, что вы подразумеваете под словом «на самом деле», поскольку ни RGB, ни YUV не представляют ни частоту фотонов, ни типичные реакции стержня / конуса человеческого глаза. Но вы можете увидеть, как они выглядят, синтезируя некоторые цветовые пятна YCrCb, такие как (1,1,0), (1, -1,0), (1,0,1), (1,0, - 1) и т. Д.
Вот страница Википедии, которая включает диаграмму:
http://en.wikipedia.org/wiki/File:YCbCr-CbCr_Scaled_Y50.png
ДОБАВЛЕНО: RGB и тому подобное были почти разработаны (или эволюционировали), чтобы соответствовать возможному интуитивному пониманию восприятия человеком (и названия цветов оказываются культурно изученными). YUV, напротив, спроектирован так, что шум в УФ-области (добавляемый к шумному поддиапазону NTSC) будет трудно увидеть и, следовательно, будет сложнее описать. YCrCb - это вариация одного и того же цветового отображения. Так что не ищите существующего «интуитивного» понимания, которое может не существовать. Возможно, создайте свой собственный, «изучив» диаграмму и построив некоторые совершенно новые нейронные связи, которые в данный момент могут не существовать в вашем мозгу (или что-то в этом роде).
источник
Когда вы понимаете HSV / HSB, нетрудно понять YCbCr. Канал B в HSB соответствует цветности (chroma = saturation http://vident.com/products/shade-management/color-theory/understanding-color-overview/hue-value-and-chroma/). Вы можете взять изображение RGB и преобразовать его в оттенки серого или конвертировать каждый канал RGB в оттенки серого, и они объединят их в один канал. Для упрощения, давайте иметь пиксель со 100% красным, 100% зеленым и 70% синим. Вы рассчитаете среднее ... (100 + 100 + 70) / 3 и получите значение 90%, что означает 90% яркости. Так что в оттенках серого это очень светло-серый цвет. Теперь, если мы хотим выразить исходные цвета в канале с оттенками серого, нам понадобятся 3 формулы для каждого цвета (красный, зеленый, синий). Вы бы рассчитали разницу значений R против градаций серого, G против градаций серого и B против градаций серого. Для этого потребуется 4 канала (RGB + цветность). Но мы можем сделать то же самое с 3 каналами. Мы можем сделать небольшую коррекцию к зеленому каналу. Давайте посчитаем разницу с зеленым каналом. Оригинальный зеленый - это 100%, новое значение зеленого, преобразованное в серый, составляет 90%. Разница составляет -10%. Итак, давайте изменим R и B каналы этого пикселя на эту разницу. Мы только что сделали гамма-коррекцию или все каналы. Значения зеленого канала будут такими же, как для изображения в градациях серого. Поэтому мы больше не рассчитываем с зеленым каналом. Зеленый кодируется в канале цветности Y .... Остальные цвета (R, B) также настраиваются. R` = 90% от исходного или 100% от Y, потому что R и B равны в этом примере. Соединение B имеет разницу + 20% по отношению к оригиналу, но после того, как оно было изменено с помощью гамма-коррекции, оно имеет разницу + 30% по отношению к Y. Чтобы еще больше упростить это, это похоже на формулу, в которой вам нужно сделать сложение для всех трех соединений. Различия, которые вы получаете для красного и синего, это Cb и Cr. Персонажи просто говорят, что вы сравнили синий канал с каналом цветности и красный канал с каналом цветности. Следовательно, Cb и Cr.
источник