これまでは、調べる画像がどんな特徴を持っているかを調べ、その特徴量を調べてきました。
今回は、Pythonで最小値を画像全体から減算するという処理を行います。例えば、最小値が5で、最大値が120だったとすると、全体から5を引くので、最大値が115となります。値の大きさが明るさに対応している場合は、やや暗くなりますね。
今回はチュートリアルの中のSubtract min valueを中心に見ていきます。
今回は、Pythonで最小値を画像全体から減算するという処理を行います。例えば、最小値が5で、最大値が120だったとすると、全体から5を引くので、最大値が115となります。値の大きさが明るさに対応している場合は、やや暗くなりますね。
今回はチュートリアルの中のSubtract min valueを中心に見ていきます。
まず、 1行目から順番に見ていきます。
IJ.getImage()でImageJの中でアクティブになっている画像情報を取得します。
これをimp(image plus)に代入(=)します。
impの段階では、まだ2次元の画像が何枚も積まれている状態なので、impの中から現在表示している1枚の平面画像を取得し、これをip(image processor)とします。
これをimp(image plus)に代入(=)します。
impの段階では、まだ2次元の画像が何枚も積まれている状態なので、impの中から現在表示している1枚の平面画像を取得し、これをip(image processor)とします。
getProcessorで表示している画像情報の取得、convertToFloatとは、全ての画像を32bitの浮動小数点画像に変換する処理です。
これによって、ipに代入された情報は実数のピクセル値をもった2次元の画像情報であると言えます。
この画像情報の中で全ての画素を最小値になるまで減らしていくのが以下の書き方です。
これによって、ipに代入された情報は実数のピクセル値をもった2次元の画像情報であると言えます。
この画像情報の中で全ての画素を最小値になるまで減らしていくのが以下の書き方です。
これで、最小値(minimum)が取得出来ました!さて、全体からこの最小値を引き算していきましょう。
①xy平面のピクセルを1次元に直して処理を行う
pixels[i]とは、i番目の画素のことです。25×25ならi=0~624まであることになりますね。
1つ1つの画素からminimum(最小値)を減算し、得られたip情報をもとに、減算された新しい画像(imp2)を
作ります。
ここで、以下の書き方は、最小値を引き算(-)して画素に代入し直す(=)というものです。
1つ1つの画素からminimum(最小値)を減算し、得られたip情報をもとに、減算された新しい画像(imp2)を
作ります。
ここで、以下の書き方は、最小値を引き算(-)して画素に代入し直す(=)というものです。