2016年10月2日 更新

シリーズ3.ImageJマクロ言語を用いた画像解析~②二値化処理-1~

前回の記事シリーズ3からマクロ言語を用いた画像処理の実例を紹介しています。今回は第二回目として二値化処理についてご紹介します。

105,969 view お気に入り 1
◆対象物が白、背景が黒

(サンプル画像Fluorescent Cells(RGB画像)をSplit Channelで赤、緑、青に分けたときの青の画像)
 (2308)

 (2309)

≪パターン②≫ 固定値を閾値とした二値化

撮像環境が整っている条件下で取得した画像を用いるときは、ある固定された輝度値を閾値としてその閾値よりも高い輝度値を示すピクセルを255、低い輝度値を示すピクセルを0に置き換えていくことによって二値化を施すことがあります。下記の太字で記述した部分で閾値を128と設定し二値化を施しています。 (以降のスクリプトはパターン①と同じです)



◆対象物が黒、背景が白
 (2311)

 (2312)

※1 for文については前回の記事を参照 シリーズ3.ImageJマクロ言語を用いた画像解析~①輝度の統計量 ~

※2 if文は()内の条件が検討されそれが真のときに{命令文}が実行され、偽のときは何も実行されないことを示す構文です。

if文(条件){

命令文

}



※3 if文はelse文とセットでなくても用いることが可能ですが、if文を複数回実行する必要がある場合にif (条件) {命令文}を2回以上記述するかわりにelse文が用いられます。if/else命令文の書き方は以下のようになります。

if (条件) {

命令文1

}else{

命令文2

}

ifの後の()内の条件が検討され、それが真のときは{命令文1}が実行され偽のときは{命令文2}が実行されることを意味します。ここでは閾値Thr=128よりも輝度値が小さいときは0に、そうでないときは1に置き換えるという命令文になります。



※4 ここでの二値化は以下のようなイメージをもつと理解しやすいと思います。

for文が二重に用いられているときは内側に書かれているfor文内の命令文から処理されます。つまり、y座標が0のままでx座標のみが画像の横幅まで1つずつ増えていき、各ピクセルの輝度値が閾値128よりも大きい場合は1、小さい場合は0に輝度値が置き換えられていくことを表しています。x座標が画像の横幅の最後まで到達すると、y座標が0から1になり、同じようにx座標が (0, 1), (1, 1), (2, 1)・・・(width, 1) まで処理されます。この処理を (0, hight), (1, hight), (2, hight)・・・(width, hight) まで繰り返すことによって二値化処理が施されます。
 (2314)

【まとめ】

ImageJで二値化を施す方法とマクロ言語での書き方が理解できたでしょうか。

今回は前回の記事で学習したfor文に加え、if/else文の書き方、細胞数などの計測に用いられる粒子解析の手法を学びました。粒子解析は数、面積および形態を自動的に取得することができるため、研究分野でよく用いられます。

次回は本文中でも予告したように二値化処理-2としてImageJにおける背景色の設定と二値化の関係について詳しく説明します。
55 件

関連する記事 こんな記事も人気です♪

ImageJ Plugin で数値計算をしてみる #5

ImageJ Plugin で数値計算をしてみる #5

非情報科学研究者 (特に生物系研究者) が ImageJ plugin を作るために超えるべき壁やTipsをまとめます。今回は、面積の平均値や中央値、分散を出力するためのコードをご紹介します。
湖城 恵 | 10,134 view
ImageJインストール(Mac)#ImageJの初心者から中級者まで#

ImageJインストール(Mac)#ImageJの初心者から中級者まで#

ImageJのインストールの仕方についてまとめました! 「ImageJってなに?」から「ImageJって面白い!!」へ!
ImageJ まとめ

ImageJ まとめ

「このページを見れば,ImageJ のこと全てが解決する」をモットーに,日々更新を行っています.
シリーズ5.ImageJマクロ言語を用いた画像解析~マクロ言語のまとめ2~

シリーズ5.ImageJマクロ言語を用いた画像解析~マクロ言語のまとめ2~

【記事の目標】 画像を触ったことがない人を対象として、適切な画像解析を施すまでのImageJのマクロ言語を用いた学習過程を示す。 今回の記事ではImageJのユーザー定義関数について学んでいきます。
ImageJ Plugin で大量の画像に対する自動処理 #4

ImageJ Plugin で大量の画像に対する自動処理 #4

非情報科学研究者 (特に生物系研究者) が ImageJ plugin を作るために超えるべき壁やTipsをまとめます。今回はスタック画像に対する ImageJ Plugin の作成方法を紹介します。
湖城 恵 | 25,254 view

この記事のキーワード

この記事のキュレーター

エルピクセル編集部 エルピクセル編集部