PHPで画像の大部分の色を計算するにはどうすればよいですか?同じような色のさまざまな色合いを1つのバケットにグループ化したいので、たとえば、すべての青の色合いは「青」としてカウントされます。
つまり、画像を取得して次のような単純な配列を返す関数が必要です。
"blue":90%, "white":10%
高精度は必要ありません。ドミナントカラーとサブドミナントカラーで画像を分類するのに十分です。ありがとう!
PHPで画像の大部分の色を計算するにはどうすればよいですか?同じような色のさまざまな色合いを1つのバケットにグループ化したいので、たとえば、すべての青の色合いは「青」としてカウントされます。
つまり、画像を取得して次のような単純な配列を返す関数が必要です。
"blue":90%, "white":10%
高精度は必要ありません。ドミナントカラーとサブドミナントカラーで画像を分類するのに十分です。ありがとう!
1 つのアプローチを次に示します。
1) セントロイドと呼ばれる一連の色を定義します。これらは、画像を分解したい基本色の中間です。たとえば、k-meansなどのクラスタリング アルゴリズムを使用してこれを行うことができます。これで、たとえば 100 個のセントロイド (バケツ、バケツと考えることができます) が得られました。それぞれは、手動で名前を付けることができる RGB カラー トリプルです。
2) 新しい画像のヒストグラムを生成するには:
この種の色の割り当ては、やや主観的なものであることに注意してください。色から名前への決定的なマッピングがあるかどうかはわかりません (たとえば、言語に依存します)。しかし、Google で検索すると、使用できるルックアップ テーブルが存在する可能性がありますが、私は見つけたことがありません。
お役に立てれば!
ベン