2016-11-30 4 views
0

Я с нетерпением жду возможности написания метода в Java, который обнаруживает и также сохраняет «цветные кластеры» в отдельных файлах.Java: как обнаружить цветные кластеры в изображении

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

К сожалению, I've уже пытались думали тысячи способов о том, как решить эту проблему, но пока ничего не удалось. Кто-нибудь знает, есть ли такой метод или как решить эту проблему?

+0

«Я уже пробовал мысли тысячу способов». Покажите нам (по крайней мере) одну из ваших попыток устранить. –

+2

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

+0

Не знаете, чего именно вы пытаетесь достичь. Но посмотрите, помогает ли [this] (http://stackoverflow.com/questions/7506579/java-color-detection). – VHS

ответ

0

Посмотрите в понятие «графическое ядро»

В основном это перемещаемый массив, представляющий пиксель и его соседей, в сочетании с алгоритмом, чтобы определить некоторые интересные качества о пикселе.

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

value = sum of color_distance_between pixel and all neighbors 

Если значение равно нулю, то пиксель должен быть точно таким же, как соседи. Если значение не равно нулю, то оно имеет разные соседи. Следите за тем, чтобы все цветовые расстояния были положительными или у вас могут быть цветовые различия, которые отменяют друг друга.

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

+0

Спасибо, я попробую немного с этим. ^^ – Julien