カラー ヒストグラムでは、通常、各カラー チャネルのヒストグラムを抽出します。これには、色がどのように共起するかに関する情報は含まれません。たとえば、強度 I(100,200,50) を持つピクセルの数は?
色の共起を表すヒストグラムを作成する方法はありますか? (強度値 (200,100,50) を含むピクセル数は?)
たとえば、このタイプのヒストグラムの改良版を探しています。この紙のように
カラー ヒストグラムでは、通常、各カラー チャネルのヒストグラムを抽出します。これには、色がどのように共起するかに関する情報は含まれません。たとえば、強度 I(100,200,50) を持つピクセルの数は?
色の共起を表すヒストグラムを作成する方法はありますか? (強度値 (200,100,50) を含むピクセル数は?)
たとえば、このタイプのヒストグラムの改良版を探しています。この紙のように
256^3 の値で非常に大きなヒストグラムを作成するか、各チャネルの値を量子化して (チャネルごとに 10 の値など)、1000 エントリのヒストグラムを作成することができます。
さらなる認識のために画像レベルの記述子として使用したいので、色がサンプル内で均一に分布していないため、単純なビニングは最適なオプションではない可能性があります。
典型的なアプローチはbag of wordsです。一連の画像 (3D 空間内の点) からすべてのピクセル値を取得し、何らかのクラスタリング アルゴリズム ( k-meansやEM アルゴリズムなど) を使用してそれらを量子化します。K個のクラスターを使用したとします (目的とサンプル サイズによって異なりますが、K = 100 から開始できます)。個々の画像を説明するには、各ピクセル (いわゆるビジュアル ワード) に最も近いクラスターを見つけ、 K個のビンでヒストグラムを作成して、各ビンの値がビジュアル ワードに対応するピクセル数になるようにします。これが記述子であり、ユークリッド距離または記述子上の χ² 距離を使用して画像を比較できます。
プラットフォームによっては、利用可能なクラスタリング アルゴリズム (さらには bag-of-words フレームワーク) の実装が多数あることに注意してください。OpenCVは最も人気のあるものの 1 つです。問題によっては、HOGなどの勾配ベースの記述子も使用できることに注意してください。
あなたは自分の質問に答えたばかりだと思います。
はい、そのようなヒストグラムを作成することは可能です。通常、最初の3つがである32ビットで(r,g,b)
表されるためr
、実装に関してはかなり単純なはずです。g
b