2013-05-09 10 views
2

Я слышал, что если вам нужно сделать сегментацию цвета на своем программном обеспечении (создайте двоичное изображение из цветного изображения, установив пиксели в 1, если они соответствуют определенным пороговым правилам, например R < 100, G> 100, 10 < B < 123) лучше сначала конвертировать свое изображение в HSV. Это правда? И почему?Почему сегментация цвета проще на ВПГ?

+1

HSV более значимо связан с психологическим восприятием цвета, чем RGB - например, если вы хотите сегментировать на красном, то в HSV все красные от самых маленьких до самых темных до наименее насыщенных до самых насыщенных имеют одинаковый оттенок, но в RGB, если вы фильтруете по R> определенную сумму, вы поймете яркие апельсины и пропустите темные красные, например. – Patashu

+0

Если ваши условия зависят от значений R, G и B, почему вы используете HSV? – Blender

+0

@Blender: Это был пример, если вы используете HSV, тогда сегментация полагается на значения H, S и V для пороговых правил. – JLagana

ответ

7

Большая причина в том, что он отделяет цветовую информацию (цветность) от интенсивности или освещения (яркость). Поскольку значение разделено, вы можете построить правила гистограммы или порога, используя только насыщенность и оттенок. Это теоретически будет работать независимо от изменений освещения в канале значений. На практике это просто приятное улучшение. Даже выделяя только оттенок, у вас все еще есть очень содержательное представление базового цвета, который, вероятно, будет работать намного лучше, чем RGB. Конечным результатом является более надежное цветовое пороговое значение для более простых параметров.

Оттенок представляет собой непрерывное изображение цвета, так что 0 и 360 имеют тот же оттенок, который дает вам большую гибкость с ведрами, которые вы используете в гистограмме. Геометрически вы можете представить цветовое пространство HSV в виде конуса или цилиндра, где H - степень, насыщенность - радиус, а значение - высота. См. HSV wikipedia page.