Какое цветовое пространство мне следует использовать, если я пытаюсь найти все пиксели одинакового цвета? Я попытался использовать GrayScale и запустил DFS в той точке изображения, где я хочу найти похожие пиксели, которые подключены к нему, но похоже, что это неправильный способ. Какое цветовое пространство мне следует использовать, это поможет мне найти пиксели схожего цвета в a, которые связаны, начиная с некоторой точки изображения. Изначально у меня есть изображение в формате RGB.
Лучшее цветовое пространство для поиска похожих цветов
Ответы (5)
Это зависит от того, что для вас значит «похожий». Цвета, похожие на компьютерные, могут быть восприняты человеком по-разному.
Модель OTOH, HSV может подойти довольно хорошо, так как она довольно интуитивно понятна для не роботов.
Однажды я получил хорошие результаты, используя цветовое пространство Lab и вычислив разница в цвете (CIE76 для меня был достаточно хорош).
В отличие от цветовых моделей RGB и CMYK, цвет Lab приближен к человеческому зрению.
Итак, если ваше определение подобия: «они похожи», я бы выбрал Lab.
Lab - очень хорошее цветовое пространство, но я понимаю, что его немного сложнее использовать из-за его нелинейности и универсальности.
HSV - очень хорошее цветовое пространство, если вас интересует оттенок и вы имеете дело с изображениями, где вы хотите легко устранить тени и отражения.
YCrCb - очень хорошее (и не такое сложное, как Lab) цветовое пространство, если вы заинтересованы в приближении визуального восприятия человека. При этом учитывается, что у человека компоненты R, G и B производят более сильные и слабые стимулы.
проверьте эту ветку Python - Найдите похожие цвета, лучший способ
и ответ: http://www.compuphase.com/cmetric.htm
Вы можете использовать цветовое пространство HSV (оттенок, насыщенность, значение или яркость).
После преобразования изображения в формат HSV вы должны установить для каналов «Насыщенность» и «значение» общее значение, например 100 или любое другое, подчеркивающее цвета. С этим преобразованием оттенок будет единственным каналом с некоторыми вариациями, и этого должно быть достаточно, чтобы отображать только похожие цвета с небольшими вариациями.
Если вы хотите уменьшить интервалы, вы можете сгенерировать гистограмму канала Hue с нужным интервалом и вычислить разницу с другими гистограммами. Результатом этого расчета будет расстояние между цветами.