2012-01-21 8 views
2

私はOpenCvを使用しています。比較のために、画像の色ヒストグラムに関するデータを取得する必要があります。OpenCv:カラーヒストグラムに明るさの影響を与える

詳細を見ると、私は多くのサブセットに編成された大量のイメージを持っています。各サブセットは、類似したイメージのグループで構成されています。私の目的は、色の類似性に基づいて、新しい画像を取得し、それが属するサブセットを決定することです。

画像のヒストグラムを作成する方法はわかっていますが、問題はできるだけ画像の明るさが色ヒストグラムに与える影響をできるだけ減らすことです。私はヒストグラムを計算する前にcvEqualizeHist()を使用することを考えましたが、OpenCvでかなり新しくなって以来、私は最良の方法が何であるか分かりません。任意のアドバイスは非常に高く評価され

答えて

1

CV_BGR2HSVCV_RGB2HSVオプションでcvtColor()を使用してHSV色空間にRGBから自分のイメージを変換します。 H、S、Vはそれぞれ色相、彩度、強さを表す。このHSV空間ではカラーヒストグラムを使用し、Vチャンネルには2つのビンのみを使用します。

+0

ありがとうございました。私はあなたの意味を理解するかどうか分からない。 HとSの値が明度の影響を受けていないことを意味しますか?私はH値を試しましたが、それは異なる明るさの条件の下ではかなり異なるように見えます。あなたが説明を加えることができれば感謝します – User09

+0

Vチャンネルは* lightness *に関する情報の大部分を運んでいます; HとVのチャンネルは影響を受けますが、Vほどはありません。あなたに思い出させてください。少なくとも近い将来、100%動作する方法を作る方法はありません。こうした問題を解決するための新しいアイディアを研究しています。 – nimcap

+0

多くのありがとうございます。最も重くするためにH、Sのどちらをお勧めしますか?あなたはcvEqualizeHist()が私を助けるかもしれないと思いますか? 「Vチャンネル用に2つのビンのみを使用する」という意味はどうしたらいいですか?無限の質問に申し訳ありません – User09

関連する問題