2021/11/19

画像の色抽出 ~RGBとHSVでの色抽出~

はじめに

新人ムラ太
新人ムラ太

なっなんと、1記事目を投稿したのが2020年11月16日でブログ開設から1年が経過しました!

ノッキー先生
ノッキー先生

おっ、すごいですね!ブログのサブタイトル「新人エンジニア画像認識入門編」も、いつまで新人なんだって言われそうですね。

新人ムラ太
新人ムラ太

はっはい、そのうち変更しないと。。。
ということで、本日は1周年記念の記事にしましょうか?

ノッキー先生
ノッキー先生

いえいえ、そんな準備できていないので、今回も通常運転ですよ!
前回は色抽出についての記事でしたが、前回うまくいかなかった明るさが変化した場合の色抽出について解説します!

色抽出とは

カラー画像から特定色を抜き出す処理を色抽出といい、その手法のひとつとしてルックアップテーブルがあるということを前回説明しましたが、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の準備で忙しいので、
クリスマスのころにでも「ムラ太画像処理エンジニアとして成長しました」的な記事書きましょう!

Point
  • RGBよりもHSVの方が、明るさ変動する場合でもうまく色抽出できる。

  • 無事、当ブログは1周年を迎えた。

2022年2月22日

マクセルフロンティアの新しい画像認識ソリューション誕生

詳細はこちら

画像認識ソリューションに関するご相談、ご質問は、下記フォームよりお問い合わせください。

Copyright Maxell Frontier Co., Ltd. All rights reserved.