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

У меня много изображений (десятки тысяч) довольно больших изображений в формате 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-изображения наиболее близок.

  • Как Ruby более объектно-ориентированный, чем Python?
  • Есть ли у Ruby что-то вроде понимания списков Python?
  • Python, Ruby, Haskell - Они обеспечивают истинную многопоточность?
  • Python / Ruby как мобильная ОС
  • Автоматизация преобразования файлов .ADT Sybase в SQL
  • Что делает службы данных Livecycle от BlazeDS, что-то вроде PyAMF или RubyAMF?
  • Понимание списков в Haskell, Python и Ruby
  • Помогите мне написать мою LISP :) LISP-среды, Ruby Hashes
  • Open Source ETL framework
  • Что блокирует Ruby, Python, чтобы получить скорость Javascript V8?
  • Как я могу развернуть скрипт Perl / Python / Ruby без установки интерпретатора?
  • Python - лучший язык программирования в мире.