Двусторонняя фильтрация с цветом - PullRequest
1 голос
/ 15 февраля 2011

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

Моя главная проблема заключается в следующем: как определить сходство цветов?Является ли сходство двух значений RGB суммой / произведением / некоторой другой операцией сходства их значений R, значений G и значений B?Если это так, то будет ли разумно определять сходства отдельно и фильтровать по каждому каналу?

Спасибо

Ответы [ 3 ]

3 голосов
/ 15 февраля 2011

Я проверил вашу ссылку, и ответ там.В нем говорится о первом преобразовании в цветовое пространство CIE-lab.Затем вы вычисляете евклидово расстояние между точками, т.е. distance = sqrt(L*L + a*a + b*b)

Здесь - это сайт, имеющий несколько формул преобразования для цветовых пространств XYZ, RGB и LAB.

2 голосов
/ 11 декабря 2013

Цветовое пространство CIE-Lab измеряет расстояние между цветами, работает нормально. Но преобразование данных RGB в такого рода цветовое пространство требует времени, что нежелательно для приложений реального времени (особенно для мобильных приложений).

У меня есть коды opencv и GPUImage .

коды opencv используют разницу суммы каналов RGB.

расстояние = (R1 + G1 + B1) - (R2 + G2 + B2)

GPUImage отлично работает в GPU, используя точное евклидово расстояние каждого канала.

discante = sqrt ((R1-R2) ^ 2 + (G1-G2) ^ 2 + (B1-B2) ^ 2)

в практическом сценарии (я разрабатываю приложение двусторонней фильтрации в реальном времени для мобильных телефонов), эти два метода работают аналогично. Я полагаю, что вместо преобразования цветового пространства RGB в цветовое пространство CIE-Lab было бы достаточно использовать приведенные выше методы.

2 голосов
/ 15 февраля 2011

Евклидово расстояние значений RGB не является хорошей оценкой для воспринимаемого цветового сходства.

На вашей связанной странице написано следующее:

Фактически, двусторонний фильтр позволяет соответствующим образом комбинировать три цветовые полосы и измерять фотометрические расстояния между пикселями в объединенном пространстве. Более того, это комбинированное расстояние может быть сделано так, чтобы оно близко соответствовало воспринимаемому различию, используя евклидово расстояние в цветовом пространстве CIE-Lab.

Итак, попробуйте использовать евклидово расстояние в цветовом пространстве CIE-Lab.

лучший Lars

...