はじめに
色抽出とは
カラー画像から特定色を抜き出す処理を色抽出といい、その手法のひとつとしてルックアップテーブルがあるということを前回説明しましたが、RGBの色抽出では明るさが変化した場合、うまく色抽出ができませんでした。
明るさが変動する画像では、RGBではなくHSVのH(色相)を使うと色が抽出しやすくなります。
「画像C」は「画像A」の明るさが変化した画像ですが、同一のルックアップテーブル設定値(設定B)でうまく色を抽出できています。
HSVによる色抽出
RGBは、赤(Red)、緑(Green)、青(Blue)の要素の組み合わせに対し、HSVは、色相(Hue)、彩度(Saturation)、明度(Value)の組み合わせで表現します。
色相(Hue)は色そのものを示す要素です。例えば赤が0°、緑が120°、青が240°となり、RGBと違い色相の1要素だけで色が決定します。1要素だけで色が決定するので、ルックアップテーブルの設定値をシンプルに構成できます。
一方、3要素で構成されるRGBでは、明るさが不安定な場合などを考慮すると、ルックアップテーブルは非常に複雑なものとなってしまいます。結果、明るさが変動した場合にうまく特定色を抽出できなくなるのです。
RGBとHSVで色抽出をやってみよう
比較のために色々な画像をRGBとHSVのHで色抽出してみます。
「画像G」へのHSV色抽出とRGB色抽出の結果、どちらも綺麗なシルエットが浮かび上がりました。
同じルックアップテーブルを使って「画像J」に対して色抽出をしてみます。
HSV色抽出をした「画像K」は「画像H」とほぼ同じ結果になりましたが、RGB色抽出をした「画像L」は明るさの変化に対応できずに「画像I」とは全く異なる結果になりました。
最後に「画像M」にHSV色抽出をしてみましょう。
簡単にきれいな紅葉の色を抽出することができました。
まとめ
なるほど、RGBよりもHSVのH(色相)を使った方が、うまく色抽出できるということですね!
はい、そうですね。但し、落とし穴もあるので、状況により使い分けてください!
あっ、保険コメントありがとうございます!
ところで1周年記念の記事はどうしましょう?
そうですね、来週は国際画像機器展2021の準備で忙しいので、
クリスマスのころにでも「ムラ太画像処理エンジニアとして成長しました」的な記事書きましょう!
-
RGBよりもHSVの方が、明るさ変動する場合でもうまく色抽出できる。
-
無事、当ブログは1周年を迎えた。