ここ@SOの提案に基づいて、一連のストック画像の平均色をカタログ化しました.
r,g,b = image.convert("RGB").resize((1,1), Image.ANTIALIAS).getpixel((0,0))
ここで、カラー ホイールをユーザーに提示し、カタログに対して検索を実行して、選択した色に最も近い画像を見つけたいと思います。
ここに投稿された「2 つの色の間の距離を見つける」ことを推奨するいくつかの質問を読み、Flickr Hacks の本を参照しました。
Flickr Hack 距離アルゴリズムは基本的に次のようです。
diffr = checkImage.r - search_r
diffg = checkImage.g - search_g
diffb = checkImage.b - search_b
距離 = (diffr * diffr + diffg * diffg + diffb * diffb)
距離 < しきい値の場合、一致。
この方法では、検索色とすべての画像の色指紋との距離を計算する必要があります。選択した色 (中心点) とあらかじめ決められたしきい値 (または検索半径) に基づいて「検索領域」を指定する方法があるかどうか疑問に思っていました。次に、SQL のようなクエリを作成して、この領域内にあるすべての画像を返します。
これは可能ですか??
ところで、私は PIL と関連ライブラリを使用して Python でこれを実装しています。
助けてくれてありがとう!
SR