Как объединить цвета в одном изображении? - PullRequest
1 голос
/ 30 ноября 2011

У меня есть некоторый опыт в Opencv. Я хочу кластеризовать цвета изображения.

Например, если я сгруппирую изображение ниже:

я должен получить 6 кластеров, каждый из которых имеет имя кластера в качестве значения RGB вместе с их положением (x, y)

world continent

Есть ли способ сделать это, используя Opencv, или любые пакеты с открытым исходным кодом также в порядке. Мне комфортно с Java и C. Если вы хотите получить более подробную информацию, оставьте свои комментарии.

Ответы [ 3 ]

0 голосов
/ 30 ноября 2011

Взгляните на cvBlobLib , его дополнение к OpenCV

0 голосов
/ 07 августа 2014

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

1) Мы можем использовать Point, чтобы сохранить положение пикселя.Новая точка (ширина, высота).

2) Затем нам нужно определить, какие пиксели и какой цвет.Итерируя по всему пикселю, мы также можем получить номер цвета / кластера.

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

...