2015年12月21日

色の類似度を用いたグレースケール化

いつの間にかあと2週間で今年も終わりとは困ったものです。

OpenCVを使用していると、たまに入力がグレースケール指定のものがあります。単純にグレースケール化しても良いのですが、例えば赤っぽさで明暗にしたグレースケール画像を入力した方が都合が良い場合もあるかと思います。

というわけで、色々な誤差(類似度)[1]を使ってカラー画像をグレースケール化してみました。HSVに関しては、参考サイトの式ではなく、色相は1周するのでその辺を考慮した[2]のと、Hの類似度(0〜1)×彩度(0〜1)という彩度が低いと類似度が低いという適当な式で計算したものです。

実行結果

rainbow.png
                原画像
Paintて適当に作った画像です。

赤との類似画像

red_SSD.png red_ZNCC.png red_HSV1.png
        SSD               ZNCC                HSV

青との類似画像

blue_SSD.png blue_ZNCC.png blue_HSV1.png
        SSD               ZNCC                HSV

緑との類似画像

green_SSD.png green_ZNCC.png green_HSV1.png
        SSD               ZNCC                HSV

HSVやZNCCを使う場合は分母が0に近づく時が困りますね。

[1] 色の類似度
[2] hue値を使った色類似度計算についての試行

web拍手 by FC2
posted by シンドラー at 16:59 | Comment(0) | TrackBack(0) | Image Processing | このブログの読者になる | 更新情報をチェックする