2009-02-27 7 views
3

私はフォルダ内にたくさんの画像を持っており、あらかじめ選択した画像と似た色の画像を探したいと思います。PythonとPILを使用して類似した色の画像を見つけるにはどうすればよいですか?

私はのような何かを行うことができるようにしたいと思います:

python find_similar.py sample.jpg 

をし、そのリターンを持っているようなもの:

234324.jpg 
55.jpg 
9945.jpg 
345434.jpg 
104.jpg 

は、このなんとかですか?

答えて

1

類似の画像を見つけるアルゴリズムはQuestion on Stackoverflowで議論されていますが、そのうちの1つをPython & PILで実装したいと思うかもしれません。また

、あなたはstraightaway PILからImageChopsモジュールを使用して、このように2つの画像を比較することdifferenceメソッドを使用することができます。

元の画像の違いについていくつかのアイデアを得ることにあなたを助けるかもしれない
import Image 
import ImageChops 

im1 = Image.open("original.jpg") 
im2 = Image.open("sample.jpg") 

diff = ImageChops.difference(im2, im1) 

と他人。

これについては、別のがあります。

+0

サンプル画像は、例えば正方形、左半分のピンク、右半分の黒です。これは左半分が黒と右半分のピンクの正方形の画像を見つけるでしょうか? – tzot

4

私はあなたに缶詰ソリューションを提供することはできませんが、ここでは問題に取り組む角度があります。私は画像処理の経験がないので、PIL固有のものではなく、まったく間違っているかもしれません。

  1. 画像上でcolor quantizationを実行します。これは、形状情報なしで画像の色情報をエンコードするパレットを提供します。

  2. principal components analysisを実行して、カラーキューブの主要コンポーネントを取得します。厳密に言えば、まず量子化なしでこれを実行できますが、それは高価すぎるかもしれません。

  3. さまざまな画像の主成分に最小二乗法を適用します。

希望します。

関連する問題