PR

【ImageJの使い方】カラー画像から、RGBに色分けしたい場合。

imagej-separete-rgb-eyecatch

 ImageJを使っていると、カラー画像を扱う場面もあると思います。
そんな時、カラーカメラだと当然撮れる画像もカラーですから、
うまいことRGB(R:赤、G:緑、B:青)で色情報が分離できれば、
色情報も使った解析ができますよね。

 ただ、カラーというのは厄介で、
画像の輝度というパラメータに加えて色という3個のパラメータが
加わるため、処理を考えるとあまりうれしくありません。

 そんな時は、白黒画像化したり、
特定の色だけを抽出した画像にしたりします。

 ImageJでも当然そういった処理が可能です。
今回のブログタイトルにもある通り、
カラー画像を用意して、色を抽出した画像を作ってみます。

この記事を読むことでわかること

ImageJを使って
カラー画像のR,G,Bそれぞれ分離する方法がわかる。

自己紹介

東証一部上場企業でサラリーマンしてます。

主に工場(生産現場)で使用する検査装置のアプリケーション開発してます。

ヒトの作業を自動化して簡略化するアプリケーションを日々開発中。

転職に成功して現在は超大手企業でシステム系の開発をしています。

Youtubeチャンネルにさまざまな動画を上げています

↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓

準備するもの:カラー画像

 まずはカラー画像が必要になります。
モノクロ画像だと、R,G,Bの情報がありませんから、分離することはできません。

 今回用意したテスト用の画像はこちらです。

リンゴの画像
今回RGBを分離するために用意したテスト画像。

 試しに同じことをしてみたいなら、この画像を右クリックして保存すれば、
これからご紹介する手順でまったく同じことが再現できます。

ImageJでどのようにカラー画像をR,G,Bに分離するか?手順。

 それでは先ほどの画像を使って、画像内のRGBを分離する方法について紹介していきます。
手順としては2Stepです。

  • 準備したカラー画像をImageJで読み込む
  • 読み込んだカラー画像をRGBそれぞれに分解する

準備したカラー画像をImageJで読み込む

 まずは準備した画像を読み込みますが、
読み込む方法は2種類。簡単なほうで大丈夫です。

 画像をドラッグ&ドロップする方法と、
menuのFileタブからOpenする方法です。

 詳しく解説していきましょう。

画像をドラッグ&ドロップする方法

 まずは、画像をドラッグ&ドロップする方法です。
直感的なマウス操作で読み込みできるので、わたしはこの方法がオススメです。

 具体的には、このようなフォルダから、
クリックした状態で離さずにImageJのタブまで運びます。

imagejに画像をドラッグアンドドロップ
ImageJに画像を読み込ませる方法(Drag&Drop)

 これだけで画像の読み込みは終了です。
リンゴの画像がImageJで開かれたのが確認できると思います。

menuのFileタブからOpenする方法

 次にご紹介するのは、フォルダを開いていない状態の時に使いやすい方法です。
画像が格納されているフォルダなどをまだ開いていない状態でも、
この方法を使えばフォルダを勝手に開いてくれるので、ImageJのみ開いている場合には
こちらのほうが早いです。※あまり時間的な差はありませんが….

 実際のやり方ですが、このように、FileのタブにOpenというボタンがありますので、
こちらをクリックすればフォルダが開きます。

open機能を使って画像を読み込む方法
ImageJに画像を読み込ませる方法(Fileから選択)

 開いたフォルダから読み込みたい画像を探して、
最後に開くボタンで画像を読み込むことが可能です。

読み込んだカラー画像をRGBそれぞれに分解する

 それでは次に読み込んだ画像からR,G,Bの要素に分解していきましょう。
手順としては、Imageタブから、Colorを選んでSplit Channelsを選択します。

画像のRGBをそれぞれ分離する
RGBで分割する方法。

すると、このように3つのWindowが表示されます。

rgbで各輝度を分離した結果
ImageJのSplit ChannelsでRGBそれぞれに分割した画像

 左から順に、R,G,Bそれぞれの輝度ごとにまとまっています。
どれがRでどれがBの画像だ??と思っても大丈夫です。

 Windowの左上に画像の名前が入っているのですが、
ここにredやblueなどと記載がありますのでその通りになっています。

ウィンドウの上にRGBいずれかの表示がある
画像の左上に分離した色の名前が入っている。

 画像を少し確認してみましょう。
元画像は赤いリンゴでしたから、Rの輝度が高いですね。
また、背景は緑の草木でしたから、背景はGつまり緑が強いことがわかりますね。

 これで簡単に光の三原色であるR,G,Bの輝度をそれぞれ分離することができました。
カラー画像を単純に二値化してしまうと、R,G,Bそれぞれの輝度というよりも、
全体の合わせた輝度となってしまうため、特徴的な色がある場合は、
このようにSplit Channnelsしてみると何か発見があるかもしれません。

カラー画像をR,G,Bにしたら保存して終了。

 最後に、この画像を保存する方法ですが、
通常の解析画像を保存するのと同じ方法です。

 詳しく見ていきましょう。

保存した画像のWindowをアクティブにする

まずは、保存したい画像のふちをクリックします。
これは、Windowをアクティブにするとも言います。

 今回のように3枚のWindowが出ている場合は、
アクティブになっている画像がどれだかわからなくなることがあるので、
保存したい画像を明確にするためにも、一度枠をクリックしてWindowを
アクティブにすることをクセづけることをオススメします。

 保存したと思ったら、違う画像を保存していた…何てことになると二度手間ですからね。

Fileタブから保存する

 保存したい画像をアクティブにしたことが確認出来たら、
ImageJのFileタブから、Save Asを選択します。

 この時、どの拡張子で保存するか選べますので、
必要な拡張子を選んで保存しましょう。
 ※一般的によく使われるjpegは圧縮されて画質が落ちますので、
今後保存した画像を使って何か解析をするならばPNGなど圧縮されない拡張子を選択しましょう。

RGBに分離した結果を保存
RGBで分離した画像を保存する方法。

 拡張子を指定すると、フォルダが開きますので、
保存したいところを選んで保存ボタンを押すこと保存されます。

今回のまとめ:ImageJでカラー画像のRGBを分離して保存

 今回はImageJを使って、カラー画像の色情報であるRGBをそれぞれ分離してみました。

 手順としては複雑なものはなかったですよね?
もしカラー画像を解析に使っていて、色情報を使って何かしたい場合は
強力なツールだと思います。

 他にもImageJには便利で強力なツールが備わっていますので、
引き続き紹介していきます!

コメント

タイトルとURLをコピーしました