Как автоматически классифицировать изображения по доминирующему цвету?

У меня много изображений (десятки тысяч) довольно больших изображений в формате JPG. Каждый из них представляет собой изображение индексной карты. Большинство из них белые, но некоторые из них имеют стандартные цвета с индексами ( эти цвета ).

Цвета соответствуют атрибутам данных, поэтому я хотел бы программно классифицировать эти карты по цвету. Я знаю, что можно извлечь доминирующий цвет из изображений в веб-браузере с использованием элемента canvas и алгоритма, такого как цветной вор , и он работает – он дает мне значение rgb, которого достаточно, чтобы выложить карты.

Но я не вижу, как я мог бы запускать такую ​​вещь через веб-браузер на большом количестве изображений.

Мне интересно, может ли кто-нибудь порекомендовать инструмент командной строки, возможно, модуль Python или Ruby, который мог бы сделать что-то подобное.

One Solution collect form web for “Как автоматически классифицировать изображения по доминирующему цвету?”

Это, похоже, сильно перекрывает этот вопрос .

Если бы я был в вашей ситуации, я бы попробовал пару вещей. Во-первых, вы можете получить любую из нескольких библиотек Python, которые могут работать: OpenCV , Mahotas , PIL или scikits.image могут, вероятно, справиться с этим, так как вам просто нужно снять средние значения RGB.

Напишите сценарий для загрузки каждого изображения и добавьте его среднее значение RGB в список. Затем вы можете использовать встроенные методы из scikits.learn, чтобы выполнять либо среднюю, либо k-мерную кластеризацию в этом большом списке цветов. Поскольку вы, вероятно, знаете, сколько разных цветов есть, k-mean – хороший выбор. В качестве альтернативы, если вы уже знаете значения RGB стандартных цветов, то для каждого загружаемого изображения просто вычислите среднее значение RGB, а затем «классифицируйте» это изображение в соответствии с тем, какой вектор цветного RGB-изображения наиболее близок.

  • Рубиновая альтернатива Scrapy?
  • Является ли шаблон посетителя полезным для динамически типизированных языков?
  • Ruby on Rails против Django
  • преобразование времени эпохи с миллисекундами в datetime
  • Разбор даты, которая может быть в нескольких форматах в python
  • Найти самую длинную общую начальную подстроку в наборе строк
  • Что было бы хорошим примером «отправки сообщений в объекты» в Python?
  • Как интегрировать автономный скрипт Python в приложение Rails?
  • Python - лучший язык программирования в мире.