2012-06-06 4 views
0

Я знаю много способов найти расстояние между двумя цветами - евклидовым или другим, в любом цветовом пространстве - RGB, HSV или другим, но теперь я сталкиваюсь с проблемой гораздо более простой , найдите расстояние между двумя цветами в изображении в градациях серого, и я не уверен, как с ним справиться.Найти расстояние между двумя цветами в серой шкале image

Допустим, у нас есть два пикселя с двумя различными серости, а = 122 и B = 201.

Как бы вы определили расстояние? Это 79? Или, например, используя евклидово расстояние, зная, что Ra = 122 Ga = 122 Ba = 122, и то же самое для Rb = 201, Gb = 201, Bb = 201, что дает евклидово расстояние ~ 136.

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

ответ

0

"Общие определения используют евклидова расстояния в устройство независимого цветового пространства"

Взято из Википедии: Color Difference

Даже если в оттенках серого R = G = B, пиксель все еще имеет все три значения. Я бы придерживался евклидовой дистанции, это похоже на конвенцию.

+0

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

0

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

, учитывая, что цвета серого цвета являются одномерными, я бы подумал, что функция расстояния также должна быть одномерной. Это не должно быть |a - b|, но я думаю, что он должен учитывать только параметр (компонент, размерность) для каждого цвета.