2012-03-13 11 views
7

私は、かなり大きなJPG画像を数多く(数万)持っています。それぞれはインデックスカードのイメージです。それらのほとんどは白ですが、標準のインデックスカードの色(these colors)のものがあります。画像を支配的な色で自動的に分類する方法は?

色はデータ属性に対応しているので、これらのカードを色でプログラム的に分類したいと思います。私は、canvas要素とcolor thiefのようなアルゴリズムを使ってウェブブラウザで画像から支配的な色を抽出することが可能であることを知っています。それはうまくいきます。

しかし、私はどのように私は非常に多くの画像上のWebブラウザを介してそのようなものを実行することができないのか分かりません。

誰かが同様のことを行うことができるコマンドラインツール、おそらくPythonまたはRubyモジュールを推奨できるのだろうかと思います。

答えて

3

これは、this questionと強く重なっているようです。

私があなたの状況にあったとしても、私が試してみたいことがいくつかあります。まず、いくつかのPythonライブラリのいずれかを利用できます:OpenCVMahotasPIL、またはscikits.imageは、実際には平均RGB値を取り除く必要があるため、おそらくこれを処理できます。

各画像を読み込んで平均RGB値をリストに追加するスクリプトを作成します。次に、scikits.learnの組み込みメソッドを使用して、この大きな色のリストに対して平均化または平均化のいずれかのクラスター化を実行できます。どのくらいの色があるかを知っている可能性が高いので、k-meansは良い選択です。また、標準カラーのRGB値がすでに分かっている場合は、読み込んだ画像ごとに平均RGB値を計算し、最も近い標準カラーRGBベクトルに基づいてその画像を「分類」します。

関連する問題