Примерное представление о том, как вы могли бы сделать это:
Вы можете использовать java.awt.image.PixelGrabber
, чтобы получить двумерный массив RGB-целых с изображения, пиксель за пикселем.
Когда этот массив заполнен, вы можете просматривать и сортировать его по своему усмотрению (звучит так, как если бы он занимал много памяти), а также выполнять простые функции для их упорядочения, подсчета и т. Д.
Затем вы можете посмотреть на java.awt.Color
и, используя конструктор Color(int, int, int)
, создать поля с этими цветами (в качестве визуальных заполнителей) с количеством появлений, появляющихся под ним.
Чтобы получить шестнадцатеричные значения для цвета, вы можете использовать строку типа:
String rgb = Integer.toHexString(color.getRGB());
rgb = rgb.substring(2, rgb.length());
(подстрока необходима, в противном случае вы получите 8 символов)
Надеюсь, это поможет вам выбрать правильный путь!
Ресурсы: Класс цвета , Класс изображения