Как объединить цвета в одном изображении?
У меня есть некоторый опыт в Opencv
, Я хочу кластеризовать цвета изображения.
Например, если я кластеризирую изображение ниже:
я должен получить 6 кластеров, каждый из которых имеет имя кластера в качестве значения RGB вместе с их положением (x,y)
Есть ли способ сделать это с помощью Opencv
или любые пакеты с открытым исходным кодом также в порядке. Мне комфортно с Java и C. Если вы хотите больше подробностей, оставьте свои комментарии.
3 ответа
Эти ссылки могут помочь:
Для этого конкретного изображения (которое имеет 6 кластеров, с каждым цветом). Я имею в виду, что не существует двух кластеров одного цвета. Я думаю, что нам просто нужно найти центральную точку.
1) Мы можем использовать Point, чтобы сохранить положение пикселя. Новая точка (ширина, высота).
2) Затем нам нужно определить, какие пиксели и какого цвета. Перебирая все пиксели, мы также можем получить номер цвета / кластера.
3) Для каждого цвета / кластера нам нужно вычислить центральную точку, вычислив среднее значение для всех пикселей / точек, которые имеют этот цвет.