No.2ベストアンサー
- 回答日時:
http://opencv.jp/opencv2-x-samples/color_histogram
にあるサンプルコードを改造して、2つの画像のRGB別ヒストグラムを取って、cvCompareHistの全methodで確認、ということをやってみましたが、それぞれ、先の例で示した通りの数値が出てきました。
等しいときには
相関=1.0, χ二乗=0.0, 交差=画素数.Bhattacharyya距離 =0.0
少しだけ編集すれば少しだけ、色を反転させるとガラっと値が変りました。
まず、交差は計算式からわかるように、一致していたら全要素の合計値になります。
一致してなくても、重なる区間があればある程度の値が出ます。
これで判定するのは少し面倒です。
完全一致を見るなら、χ二乗がいいと思います。
あとは、ちゃんとヒストグラムができているか
for (j = 0; j < ヒストグラムの大きさ; j++)
printf( "%3d: %g\n", i, cvGetReal1D( H1->bins, j) ) ;
}
などとして表示してみるのもよいでしょう。
にあるサンプルコードを改造して、2つの画像のRGB別ヒストグラムを取って、cvCompareHistの全methodで確認、ということをやってみましたが、それぞれ、先の例で示した通りの数値が出てきました。
等しいときには
相関=1.0, χ二乗=0.0, 交差=画素数.Bhattacharyya距離 =0.0
少しだけ編集すれば少しだけ、色を反転させるとガラっと値が変りました。
まず、交差は計算式からわかるように、一致していたら全要素の合計値になります。
一致してなくても、重なる区間があればある程度の値が出ます。
これで判定するのは少し面倒です。
完全一致を見るなら、χ二乗がいいと思います。
あとは、ちゃんとヒストグラムができているか
for (j = 0; j < ヒストグラムの大きさ; j++)
printf( "%3d: %g\n", i, cvGetReal1D( H1->bins, j) ) ;
}
などとして表示してみるのもよいでしょう。
No.1
- 回答日時:
具体的にどんな方法で「一致した」と判定しました?
if ( cvCompareHist(H1,H2) ) {
一致
}
とかやってませんか?
http://opencv.jp/opencv-2.1/c/histograms.html#cv …
それぞれの方法で、2つのヒストグラムの「類似度」を計算して、その値を返します。
大雑把に言うと
相関:-1.0~1.0の値。1.0に近いほど双方が類似している。-1.0だと真反対の関係。0.0で無関係。
カイ二乗: 似ている程小さい値。完全に同一で0.0
交差: 似ている程大きな値。 0.0でまったく重なる部分無し。
Bhattacharyya距離: 似ている程小さい値。同一で0.0
「一致」の判定は、
画素数が同じなら→カイ二乗で計算して値が0.0
画素数が異なるなら→相関を計算して値が1.0
となります。
実際には計算誤差も考慮して、ある範囲内なら一致と見做す、とするべきでしょう。
この回答への補足
result = cvCompareHist( H1, H2 )
printf("類似値:%f \n",result);
で値を見ています。
ヒストグラムの比較方法は交差です。
一致というのは完璧一致のことを言っています。
つまりRGB成分すべての類似値が1とでます。
紛らわしいことを書いてすみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
勤続年数の平均値の求め方
-
エクセルで時刻の計算結果が-0:...
-
日常使いのExcelについて。家計...
-
エクセルの複数のセルを一括で...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
Excelで同じセルに箇条書きをし...
-
A1セルに入力したら、入力時間...
-
参照先セルに値が入っていない...
-
エクセルで、桁数の異なるデー...
-
Excelの入力規則で2列表示したい
-
エクセルで既に入力してある文...
-
リンク元の日付が空白の時リン...
-
お肉の下のシートを煮込んでし...
-
excelでSUBTOTAL関数を設定した...
-
値を入力後、自動的にアクティ...
-
Excelで社歴管理をしており4年...
-
Excel:文字と数字の組合せ、次...
-
複数の文字列のいずれかが含ま...
-
数式が入ったセルを含めて、数...
-
excel:条件付き書式の適用範囲...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
勤続年数の平均値の求め方
-
エクセルで時刻の計算結果が-0:...
-
エクセルで行を追加した時に計...
-
CADによる表面積の計算
-
EXCEL で符丁計算式を設定した...
-
共有物分割に伴う登録免許税の...
-
三四郎の関数がわかりません。
-
OpenCv ヒストグラム比較について
-
エクセルの複数のセルを一括で...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
複数の文字列のいずれかが含ま...
-
参照先セルに値が入っていない...
-
Excelの入力規則で2列表示したい
-
excelでSUBTOTAL関数を設定した...
-
リンク元の日付が空白の時リン...
-
数式が入ったセルを含めて、数...
-
IF関数で0より大きい数値が入力...
-
エクセルで既に入力してある文...
おすすめ情報