Comments 8
Как только название статьи прочитал - первая мысль «дык это, просто смотрите значение каналов a и b в Lab, меняя диапазон - варируем "похожесть" цвета».
Да, "расстояние" в RGB тут вообще никак не поможет. Однажды "скрещивал" Google Maps и OSM. Ну если OSM еще хоть как-то, ну например, определить вода или нет по этим координатам, просто из "слоя воды" то в Google такого API нет. Задачка была простая - из определенной точки получить расстояние до ближайшей воды. Как ни извращался всегда то в лес упрешься, то в штриховку какую-то. Так с гуглом с цветами и не получилось. А разница, кстати, там существенная. Между OSM и Google - легко разница в метров пятьдесят может быть.
Расстояние здесь не в смысле расстояния между объектами на карте. Мы в этой части вообще никак не привязывались к единицам измерения типа метров. Цветовое расстояние в RGB, о котором идёт речь - это чистая математика. Евклидово расстояние в трёхмерном пространстве, где по осям координат откладываются градиенты цветов.
Да, я про то-же. Криво сформулировал. :) Я про то что пытался определить "разность" между цветами точек на карте. Для разных цветов "расстояние" может быть одинаковым. Даже не "расстояние", это то понятно. А "разность". В RGB на это никак ориентироваться нельзя. особенно если нужно определить "похожесть" цветов.
Сделать из этого пёстрого набора пикселей "ровную" маску нам вновь поможет морфология. В этот раз мы возьмём небольшой структурный элемент (7х7 пикселей) в форме ромба:
Почему именно метрика Манхэттена использовалась для таких данных?
Гм. Форма структурного элемента здесь, думаю, никак не связана с расстоянием городских кварталов. Обычно формы структурных элементов просто подбираются исходя из направления и форм выделяемых объектов. В нашем случае на карте это не так принципиально, ромб был взят просто из головы. До этого в основном использовались кружки (диски).
Обожаю эту тему с фильтрами. Помню, лет 10 назад столько аутировал в Ависинте с масками, даже делал детекцию глаз тоже на основе их формы и того факта, что они по горизонтали более неравномерные (белок+радужка), чем по вертикали.
Заставляем компьютер видеть цвета без нейросетей: сегментация изображений по старинке