私は、画像のRGBヒストグラムを描画し、クエリ画像を使用して他の画像間の距離を計算するCBIR(コンテンツベースの画像検索)プロジェクトに取り組んでいます。
VS 2008 - MFC と OpenCV ライブラリを使用しています。距離を計算するために使用したかった方法はユークリッド距離(ED)ですが、なぜかうまくいきませんでした。
2 つのヒストグラム間の距離を計算するのに役立つ関数 cvCalcEMD2() を見つけました。この関数を使用するには、ヒストグラムの署名を作成する必要があります。
これは、私が見つけた署名を作成するための例です
For ループには、ヒストグラムを渡す必要がある行があります。
float bin_val = cvQueryHistValue_2D( hist1, h, s );
ヒストグラムの私の関数には、変数 h_bins や s_bins のようなものはありません
私のプログラムでは、ヒストグラムをR、G、Bに計算/描画します。つまり、各画像には3つのヒストグラムがあります。例: CvHistogram *hist_red, *hist_green, *hist_blue;
ヒストグラムを使用して署名を作成するにはどうすればよいですか?
* drawHistogram 関数へのリンクは、以下のコメントにあります