ImageJ: 色相 hue の解析

informatics/image_analysis/imagej_hue
8-29-2017 updated

  1. 概要: 色相 hue とは
  2. ImageJ を用いた解析

広告

概要: 色相 hue とは

コンピューターに興味がある人なら、赤・青・緑の 3 つの原色の合成で色を表すRGB モデルを知っているだろう (図 1)。

この場合、色は R, G, B の 3 要素の 3 次元行列として数値化することができ (図 2)、それぞれの色は一般に 0 から 255 までの値をとる。たとえば (0, 0, 0) ならば黒、(0, 0, 255) ならば青である。

図1. RGB モデルの例 (3)。

立体で表現した RGB 空間 (4)。


RGB ほどよく知られていないが、赤・緑・青の代わりに以下の 3 つの要素で色を表現するモデルがある。

  1. 色相 Hue
  2. 彩度 Saturation
  3. 明度 Value

この方法は、3 つの要素の頭文字をとって HSV 方式と呼ばれる (図 3)。ただし、人間の認識では value 低いと全ての色が黒に近づいていくので (円柱の底面)、このモデルは図 4 のように円錐で表す方が妥当であるとする意見もある。

円錐モデルでも Saturation という言葉が使われることがあるが、本来は Chroma という言葉を使い HCV モデルとするのが正しいようである。

図 3. HSV 色空間の円柱モデル。

図 4. HSC 色空間の円錐モデル。


図からわかるように、Hue は 0 から 360 の値をとり、0 と 360 はいずれも赤である (5)。Saturation および Value は 0 - 100% で定義されることが多い。


広告

ImageJ を用いた解析

この方法のメリットは 色の違いを数値で表せる ことにある。

対象サンプルの色が変わるような実験を考えてみよう。溶液ならば吸光度を測定して数値化するところだが、スライドなどで画像のデータしか得られなかった場合はどうするか?


実例:赤と青

下の写真で実際に試してみよう。

画像を ImageJ で開き、Image - Type - HSB stack とする。これで画像が Hue, Saturation, Value の 3 枚に分解される。切り替えは横スクロール。

Hue の画像で、まずは右上の一様に青黒い部分を 30 x 30 ピクセルの範囲で選択し、Analyze - Histogram とする。選択範囲のピクセルの画像がもつ値がヒストグラムで表示される。

まず 30 x 30 で選択したので、Count は 900 である。つまり、900 個の点が 0 から 360 の hue という値をもって選択範囲に存在しているということになる。ただし、ImageJ では 0 から 255 の値に変換されているようである。ここはあとで確認してみたい。

選択範囲の色はほぼ一様であり、予想された通り値は 160 -166 の範囲内に分布する。平均値は 163.069 で 標準偏差も 1.095 と小さい。

次に、同じ 30 x 30 を雲と空が混在する部分に置いてヒストグラムを作ってみる。できれば、青の色も残っているあたりがよい。下のヒストグラムは、空の画像の右下コーナーの少し上、青とオレンジが混在するあたりのものである。

青の 160 付近と思われるピークはまだ残っているが、そこからマゼンタと赤にかけてブロードなピークが認められる。ほぼ目による認識と一致する数値が得られている。

以上のような解析により、「色の変化」を数値で表現することが可能になる。必要な場合に試してみてほしい。ただし、以下のような問題が残されている。

  • 目で見て色が違っていても、実際に上記の解析をすると Hue ではなく明るさの変化だったりする。
  • ヒストグラムが複数あるとき、その分布パターンが異なることを統計的に示すのは難しい。ピークが一つなら平均と標準偏差で良いが。

コメント欄

一言コメントをどうぞ! (基本500字まで - 100字のページもあるかも)


フォーラムを作ったので、各ページにあるコメント欄のうち、コメントがついていないものは順次消していきます。今後はフォーラムをご利用下さい。管理人に直接質問したい場合は、下のバナーからブログへ移動してコメントをお願いします。


References

  1. By HSV_color_solid_cylinder.png: SharkDderivative work: SharkD  Talk  - HSV_color_solid_cylinder.png, CC BY-SA 3.0, Link
  2. By Hcl-hcv_models.svg: Jacob RusHSV_color_solid_cone.png: SharkDderivative work: SharkD  Talk  - Hcl-hcv_models.svgHSV_color_solid_cone.png, CC BY-SA 3.0, Link
  3. By Quark67(Modified color by Monami) - Image:Synthese+.svg, CC 表示-継承 3.0, Link
  4. By 英語版ウィキペディアSharkDさん - en.wikipedia からコモンズに移動されました。 Transfer was stated to be made by User:nopira., GFDL, Link
  5. By w:ru:User:Kalan - Own work, Public Domain, Link
  6. ImageJ で特定の色域の面積を測る方法. Link: Last access 8/29/2017.
  7. Pixabay free image. Link: Last access 8/31/2017.