Adobe Photoshopなどを使って簡易解析 Dec. 7, 09

I カシミールから茨木市域全域矩形領域をカバーする衛星画像と地図画像をbmp画像で出力する Dev.7, 09
II Adobe Photoshopで画像解析 Dec.7, 09
III 領域分割 Dec.7, 09
IV 教師付画像分類  Dec. 8, 09

I カシミールから茨木市域全域矩形領域をカバーする衛星画像と地図画像をbmp画像で出力する Dev.7, 09

1. カシミールで衛星写真のうちのLANDSAT ETM+画像のナチュラル画像の自動調整済画像を使用する。カシミールで茨木市域付近を表示する。 2. 編集/選択範囲を緯度経度で指定する(ウィンドウに表示されている範囲を超えて表示できる)。ここでは,左上(34h55m45.00s, 135h29m00.00s),右下(34h46m08.00s, 135h37m30.00s)。図1にはその選択範囲を表示している。

図1
3. ファイル/ 表示画像を保存/選択範囲を保存,で「茨木市域矩形natural.bmp」 とする。
4. カシミールでフォールスカラーETM+を表示して自動調整し,3と同様にして,「茨木市域矩形faulse.bmp」 とする。
5. カシミールで中間赤外ETM+を表示して自動調整し,3と同様にして,「茨木市域矩形mid-IR.bmp」 とする。
6. ここで地図画像との対応関係を見るために,地図画像も出力する。範囲指定は解除されるが,編集/選択範囲を緯度経度で指定するウィンドウに数値が残っており,OKだけで上と同じじ矩形領域を選択することができる。
 ぼくの場合,10mメッシュと地図画像25000をmat化して登録している(ファイル/地図を開く/標高データ+地図画像/地図画像25000[New00000.mat])。もちろん,カシミール3D解説本,でも問題はない。2,3の手順で同矩形領域を出力する。「茨木市域矩形map.bmp」とする。これでカシミールは終了する。

II Adobe Photoshopで画像解析

1. カシミールで作成した4ファイルが入ったフォルダをダビングする。

2. Photoshopを立ち上げて,ダビングしたフォルダのうちの,「茨木市域矩形natural.bmp」 を選択する。

3. プロファイルなし,のメッセージが出る。プロファイルの指定/Adobe RGB(1998),または一般RGB,などを選び,「次にファイルを作業用のRGBに変換します」,にチェックを入れる。そして,OK。

4. その結果,画像が表示される。レイヤーパネルのチャネルタブを開くと,RGB画像とともに,R,G,Bそれぞれのグレー画像が見られる。

5. R,G,Bのうち,いずれか一つだけ表示すると,グレー表示される。図2は,その例である。

図2

以下の記述は,主に田中邦一・青島正和・山本哲司・磯部邦昭,2003. フォトショップによる衛星画像解析の基礎. 古今書院,を参考にしているが,かなりの変更をしているのでご了解頂きたい。

III 領域分割 Dev.7, 09

1 「一定の面積をもつ領域を周辺の濃度値をもとに複数の領域に分割」する。次の『輪郭のトレース』,が細線で検出されるのに対して,濃度勾配に応じた線幅をもち,濃度は隣接する領域との濃度差の大きさによって異なる」。
 フィルタ/表現手法/輪郭の検出
この結果のファイルを,「茨木市域矩形ETM+natural_B_輪郭検出.bmp」とする。図3に示す。この結果は,植被・水域の境界を示している。

図3

図3

2 実はこのコマンドを実行すると,RGB全画像で実行されている。図4にはRGBでの結果を示す。境界が明瞭なものほど,黒く表示されている。RGBのいずれかに偏っている境界はその色を示している。結局,カラー画像で実施するよりも,個々のグレー画像で実施した方が評価が容易であろう。

図4

図4

 

3 『輪郭のトレース』を実施する。上の手法とは違って,指定したレベル値をもつ領域の周囲を細線で囲むことができる。さらにこれをDidgerなどの画像処理ソフトでベクトル化することができ,GISでの利用も可能となる。
 この実行結果だけみても評価が難しいので,同じ画像を2枚同時に開いて,片方だけ実行して,対照するのがいい。別フォルダに入っている同名のファイルではファイル名の表示が同様のため,区別がつかない。コピーした方の画像名に何らかの区別をした方がいい。その上で,両画像を開き,ウィンドウ関係のコマンドを使わずに,左右(コピーファイルは右側)に並べる。そして,コピーの方の画像をアクティブにして,次を実行する。左の画像はRGBカラー表示のまま,右の画像はBlueのグレー表示にする。カラー画像のままでは評価ができない。
  フィルタ/表現手法/輪郭のトレース
を実行する。この結果は実行結果は図5に示している。ここでは,「指定レベル以下の画像の周り」を選んだ方が,まとまりがいい。Blueの輝度85以下の領域が囲まれている。

図5

図5
 さて,これを保存しても図6のようにRGBカラー画像のままである。

図6

図6

そこで,ブルーのチャネルが求める輪郭トレースなので,チャネル表示のRとGのチャネルを削除することになる。たとえば,まずRのチャネルパネルで右クリック(マックではcontrol+クリック)すると,「チャンネルを複製」と「チャンネルを削除」の選択肢が出る。後者を選ぶと削除されるが,チャネル名が,「マゼンタ」と「イエロー」になる。イエローが先のブルーのチャネルの表示に相当しているので,マゼンタも削除する。イエローのチャネル表示だけが残る。
 このファイルはイメージ/モードでみると,マルチチャネルになっている。これをモノクロ2階調に変換するのであるが,図7のように,種類:使用「50%を基準に2階調に分ける」を,選ぶと,イエローのチャネルと同様の線だけが明瞭な黒で表示される。茨木市域矩形ETM+natural_B_trace.bmpというファイル名で保存しておく。

図7

図7
 
 トレース画像をベクトル化することができる。例えば,次のサイトからダウンロードできる。WindowsにもMacOSXにも対応している。
Open Source Scalable Vector Graphics Editor Official release packages
(Inkscape.app) http://www.inkscape.org/download/?lang=en
MacOSX Leopard用の場合,XQuartz v.2.1.4以上が必要だが,ぼくのLeopardの環境では,bash-3.2.17(x11を立ち上げて helpと入力すること)だから問題ない。
A Linux, Windows & OSX vector graphics editor (SVG format) featuring transparency, gradients, node editing, pattern fills, PNG export, and more. Aiming for capabilities similar to Illustrator, CorelDraw, Visio, etc.
79MB
 
4 モノクロ2階調化
 この例では植生に関して有効な区分が可能なBlueを選んで,
 イメージ/色調補正/2階調化
を選ぶ。そして,「2階調化する境界しきい値」として,輪郭トレースで求めた85を入れる。その結果を図8に示す。

図8

図8

他のチャネルは先の方法で削除すること。Redを消すと,マゼンタとイエローが残る。マゼンタも消す。そして前述のように,モノクロ2階調にする。そのファイルは茨木市域矩形ETM+natural_B_trace_monochro_area.bmpとして保存する。
 6.3では境界を線で示したが,ここでは85より大きな値は黒で示される。黒色の領域が植被が高いか水域になっている。このような表現にすれば,この画像全体で占める面積を計算することができる。
 イメージ/色調補正/階調の反転,を実施すると,白と黒の表現が入れ替わる。
 GISソフトを持たない場合,フリーウェアのImageJを利用することができる。
http://rsbweb.nih.gov/ij/
Mac OS X
Download ImageJ 1.42 (5.1MB) http://rsbweb.nih.gov/ij/download.html as a double-clickable Mac OS X application. Includes ImageJ64, which uses Java 1.6 in 64-bit mode on Intel Macs running OS X 10.5 or later. (Instructions http://rsbweb.nih.gov/ij/docs/install/osx.html)

A free PC version of Image, called Scion Image for Windows, is available from Scion Corporation http://www.scioncorp.com/.

1. Image Jを起動する。
2. File/openで,測定する画像を開く。
3. image/adjust/threshold,で測定する画像(の白の部分)を赤くする。 Thresholdの上のスライダーは下限値,下のスライダーは上限値。いずれも0とし,Applyを実行する。白の部分が真っ赤になる。図9参照

図9

図9


4. Analyze/Set Measurement,を開く。Area, Min & Max Gray Value, Mean Gray Valueは元からチェックが入っている。これに,Area Fractionに新たにチェックを入れる。
5. Analyze/measure,で測定を開始する。
6. 測定結果が,測定番号,面積,平均,ピクセルの最小グレイ値,最大グレイ値,そして,%面積がでる。図9にその結果を示す。
7. Results上のデータをFile/Save asで名前をつけて保存(エクセルファイル.xls)する。

 

IV 教師付画像分類  Dec. 8, 09

 近似色による分類(ほぼ教師なし分類)とサンプル色による分類(教師付き分類)があるが,後者が目で見て評価できる。

 「元画像から色調(サンプル色)をもとに抽出した分類項目別の領域をレイヤー別に作成し,次に指定した色(属性値)をそれぞれ割り当て,最後にすべてのレイヤーを重ね合わせて分類画像を作成する」

1. ファイル/開く,で処理対象画像を開く。
2. 選択範囲/すべてを選択。
3. 選択範囲/色域指定。ダイアログ画面が表示される。選択:指定色域,ラジオボタンは,「画像を表示」を選ぶ。選択範囲のプレビューは,黒マット(白マットでもよい)。
4. スポイトdropperで,都市部の濃い紫色部分を選ぶ。許容量をスライダーを動かして,調整する。原図が色域指定のダイアログ画面に,処理結果は元図の大きな画面に表示される。
 プラススポイトを使うと,他の色域の部分も追加できる。
 さて,スポイトで抽出した都市化域を示した例を図10に示す。

図10

Fig. 10

5. OKボタンをクリックすると,ダイアログが閉じて,主画面に先に表示された範囲が選択ラインで点滅する。
6. レイヤーメニュー/新規塗りつぶしレイヤー,の,べた塗り,を選択する。新規レイヤーダイアログが表示されるので,ここでは,レイヤー名:都市化域,カラー:イエロー,描画モード:通常,不透明度:100%とする。図11のようである。

図11 

Fig. 11

7. カラーピッカーダイアログが表示される。色を指定するが,先に選んだイエローの意味がわからない。
8. 元画像上に新規レイヤーが作成され,選択した色で塗りつぶされる。図12を参照。

図12

Fig. 12

9. イメージ/色調補正/2階調化/,から2階調ダイアログの2階調化する閾値に適切な値(通常は1)を入力し,選択範囲内の色を同一色に変える。図13参照。

図13

Fig. 13

10. ウィンドウ/レイヤー/,を選ぶ。レイヤーパレットの背景を選択してアクティブにする。図14参照。

図14

Fig. 14

11. 分類したい項目について,2.〜10.,を繰り返してゆく。

 植被について,限界値130を採用。この設定は難しい。芝生域をも入れるか,森林域に限定するかであるが,結果的にはほぼ森林域にほぼ限定した。図15参照。

図15

Fig. 15

森林域を濃い緑にして,10.の作業を完了した段階を図16に示す。

図16

Fig. 16

12. 作業が終われば,レイヤーパレットから,背景,を削除する。
 さて,このように作成されたレイヤーの都市化域の表示を隠すと,森林域が表示され,それ以外は透過域(null)になっている(図17)。つまり,これを使うと,それぞれ二値化をすると,前述の方法で,面積を求めることができる。


図17

Fig. 17

13. レイヤーメニューから,画像の統合,を選び,レイヤーを一つにする。
14. イメージ/モード/から,インデックスカラーを選択する。この時,パレットには「使用中の色を割り付ける」か,「カスタム」を選択する。この時割り当てられた画素値がそのまま分類項目の属性値になる。パレットで,強制:白黒,としている。レイヤーのチャネルが一つになる。
15. イメージ/モード/カラーテーブル,を開き,割り当てられた分類項目の画素値(属性値)に色を割り当ててゆく。OKボタンを押せば分類項目が作成される。図18は,カラーテーブルを開いた段階のものである。


図18
Fig. 18

 図18で黒色がどこなのかチェックするために赤色にしてみたが,全く見えなかった。白色の部分は黄緑色に変えた。ゴルフ場などの草地に対応するものである。図19とする。


図19

Fig. 19


 「フォトショップではインデックスカラーのカラーテーブルの色を変更して行う。これによって画素値(属性値)そのものの値は変わることはない」。
 一応,教材はここまでとする。

以 上