Самое «стабильное» цветовое представление: RGB? HSV? CIELAB? - PullRequest
21 голосов
/ 28 июля 2011

Есть несколько цветовых представлений в компьютерной науке: стандарт RGB, но также HSV, HSL, CIE XYZ, YCC, CIELAB, CIELUV, ... Мне кажется, что в большинстве случаев эти представления пытаются приблизить человеказрение (цвета, воспринимаемые одинаково, должны иметь схожие представления)

Но я хочу знать, какое изображение является наиболее «стабильным», когда речь идет о картинах.У меня есть объект, скажем, бутылка кока-колы, и у меня есть тысячи снимков этой бутылки, сделанные при совершенно разных обстоятельствах (главное отличие состоит в том, насколько светлая или темная картинка, но есть ориентация и т. Д ...)

Мой вопрос: какое цветовое представление эмпирически даст мне наиболее устойчивое представление о цветах бутылки?«Красный» цвет этикетки не должен сильно отличаться.Что ж, я знаю, что это будет отличаться, но я хотел бы знать наиболее «стабильное» представление.

Меня учили, что HSV лучше, чем RGB для подобных вещей, но у меня нетподсказка для всего остального.


Редактировать (технические детали): Я беру конкретную точку бутылки.Я выбираю соответствующие пиксели на тысяче снимков этой точки.Теперь у меня есть облако точек, которые зависят от представления.Мне нужно представление, которое минимизирует «размер» этого облака, например, такое, которое минимизирует среднее расстояние точек облака до его барицентра.

Ответы [ 3 ]

11 голосов
/ 22 сентября 2011

Возможно, вы захотите проверить http://www.cs.harvard.edu/~sjg/papers/cspace.pdf,, в котором предлагается новое цветовое пространство, очевидно предназначенное для решения этого точного вопроса.

5 голосов
/ 28 июля 2011

Мне не известно о цветовом пространстве, которое делает то, что вы хотите, но у меня есть несколько замечаний:

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

Что касается других цветовых пространств: некоторые пытаются убедиться, что цвета, которые воспринимаются близко друг к другу, также находятся близко друг к другу в цветовом пространстве. Другие также стремятся к тому, чтобы воспринимаемые одинаковые различия в цвете также вызывали сходные различия в цветовом пространстве, независимо от того, где вы находитесь в цветовом пространстве.

Первое означает, что если вы думаете, что разница в цвете между синим A и синим B аналогична разнице в цвете между синим A и синим C, то в цветовом пространстве расстояние между синим A и синим B будет похоже на расстояние между синим A и синим C, и все они будут близко друг к другу в цветовом пространстве. Я думаю, что это называется перцептуально гладким цветовым пространством. CIE XYZ является примером этого.

Второе означает, что если вы думаете, что разница в цвете между синим A и синим B аналогична разнице в цвете между красным A и красным B, то в цветовом пространстве расстояние между синим A и синим B будет аналогично Разница между красным A и красным B. Это называется воспринимаемым однородным цветовым пространством. CIE Lab тому пример.


[править 2011-07-29] Что касается вашей проблемы: любой из HSV, HSL, CIE XYZ, YCC, CIELAB, CIELUV, YUV каким-то образом отделяет освещение от информации о цвете, так что это лучшие варианты , Они обеспечивают некоторую невосприимчивость к изменениям освещения, но не помогут вам, когда резко меняется цветовая температура или используется цветной свет. XYZ и YUV в вычислительном отношении менее дороги, чтобы получить от RGB (что дает большинство камер), но также менее «хороши», чем HSV, HSL или CIELAB (последний часто считается одним из лучших, но он также один из самых сложных).

В зависимости от того, что вы ищете, вы можете откалибровать цветовой баланс изображений. Например: предположим, что вы соответствуете логотипам Coca Cola: Вы знаете, что буквы на логотипе всегда белые. Поэтому, если их нет на вашем изображении, вы можете использовать цвет, который они должны исправить, чтобы получить информацию о других цветах.

2 голосов
/ 28 июля 2011

Наше восприятие цвета чего-либо в основном определяется его оттенком; цветовое пространство, такое как HSV, которое дает одно значение, представляющее оттенок, будет работать лучше всего.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...