これはMicrosoft Internet Explorerで見ることを前提として作成されています.


画像情報処理 実習資料

今回の実習の流れ
  1. アンシャープマスク処理
  2. 周波数領域における画像処理
  3. 自由課題
1.アンシャープマスク処理
 アンシャープマスク処理は画像の鮮鋭度を強調する手法です.この処理は画像を意図的に平滑化し,原画像との差分像を作成することで画像の鮮鋭成分を作り出します.そして,その差分像を原画像に加算することで画像の鮮鋭化を行います.図1に一次元信号での処理を示します.

図1 一次元信号でのアンシャープマスク処理

 同様の処理を二次元の画像に適用すれば,アンシャープマスク処理が実現できます.以下にその手順を示します.
  1. ボケ画像の作成
     ボケカーネルのたたみ込みで実行する.
    前回の平滑化で説明したようにテキストファイルで平滑化カーネルを作り,ProcessのConvolveを選択し実行する. その後,FileのSave asで別名で保存する(仮にSmoothとする).
  2. 差分画像の作成
     原画像をもう一度開き,Smooth画像と同時に表示する.ProcessのImage Mathを選択する.出てきたダイアログに図2のaのように2段目の”+”を”−”,3段目の数値を”1.0”,4段目の数値を”0”とし,Resultのところに任意の名前を入力してOKを押すと,差分画像が生成されます.
  3. 強調係数の設定
     差分画像が選択されている状態でProcessのArithmeticのMultiplyを選択する.出てきたダイアログ図2のbに強調係数を入力してOKを押す.
  4. 原画像との加算
     再び,ProcessのImage Mathを選択し,図2のcのように画像を原画像と差分強調画像を選択し,2段目の符号を”+”,3段目を”1.0”,4段目を”0”とし,先ほどと同様,Resultのところに任意の名前を入力してOKを押します.
a 画像の差分 b 強調係数の設定 c 画像の加算
図2 アンシャープマスク処理に要するダイアログ

以上のような流れで,アンシャープマスク処理を実現することが出来ます.また,このアンシャープマスクフィルタはボケカーネルのサイズと強調係数を変えることで強調する成分を変えることが出来ますので,いくつかのパターンで実行しその違いを観察して下さい.

<課題>以下の2枚の写真を用いて,次に示す内容を確認せよ.
  1. 3×3のカーネルで作成したボケ画像,強調計数1でアンシャープマスク処理をせよ.
  2. 上記処理と(前回講義で演習した)ラプラシアンフィルタで作成した画像を表示し,見比べよ.
  3. 9×9のカーネルで作成したボケ画像,強調計数1でアンシャープマスク処理をし,1(3×3)と見比べよ.
  4. 3×3のカーネルで作成したボケ画像,強調計数3でアンシャープマスク処理をし,1(強調計数1)と見比べよ.

先頭に戻る

2.周波数領域における画像処理

医療画像(胸部X線写真や眼底写真等)は,
授業以外の使用を禁ず.


 周波数領域における画像処理とは,画像をフーリエ変換して空間周波数領域のスペクトルに変換した後,そのスペクトルに対して処理を行います.その後スペクトルをフーリエ逆変換を行うことで,再び空間領域の画像(処理画像)に変換するという手順で実行されるものです.
 空間周波数領域のスペクトル画像は図3のbのようになります.この画像での原点は中心部で,中心部に近いほど低周波成分であり,画像の端に近いほど高周波成分になります.
 今回は,高域通過フィルタと低域通過フィルタ,帯域通過フィルタを行います.

a 原画像 b スペクトル画像
図3 画像とスペクトル

先頭に戻る

空間周波数領域での処理の進め方
 今回は,Scion ImageにあるFFT(Fast Fourier Transform:高速フーリエ変換)という機能を使います.
 FFTを使った空間周波数領域での画像処理は以下の手順で出来ますが,画像の大きさが2のn乗の正方形(128×128,256×256,512×512など)に限られますので注意して下さい. それ以外の画像で処理を行う場合は,EditのScale and Rotate...を選択し,図4のHorizontal ScaleとVertical Scaleに,横,縦ともに掛けて2のn乗になるような値を入力して,2のn乗サイズの正方形を画像を作って下さい.
  1. ProcessのFFTよりFFTを選択する.
  2. 作成された空間周波数領域の画像において処理を行う.
  3. ProcessのFFTよりInverse FFTを選択し,処理画像を得る.
図4 Scale and Rotate...ダイアログ

先頭に戻る

高域通過フィルタ
 空間周波数領域で低周波部分つまり画像の中心付近を削除し,高周波成分のみを残して逆フーリエ変換を行います.
 以下のような手順で実行できますが,削除する領域の大きさを変えて行い削除する領域の大きさによって処理画像がどのように変わるかを観察して下さい.
  1. FFTを行い,空間周波数領域画像を得る(図5のb).
  2. 中心を含む領域をドラッグしてEditのClearで削除する(図5のc).
  3. 逆FFTを行い,処理画像を得る(図5のd).
a 原画像 b スペクトル c 低周波削除 d 処理画像
図5 高域通過フィルタの流れ

低域通過フィルタ
 高域通過フィルタとは逆に,空間周波数領域で高周波部分つまり画像の端付近を削除し,低周波成分のみを残して逆フーリエ変換を行います.
 以下のような手順で実行できますが,高域通過フィルタと同様に削除する領域の大きさを変えて行い削除する領域の大きさによって処理画像がどのように変わるかを観察して下さい.
  1. FFTを行い,空間周波数領域画像を得る(図6のb).
  2. 残す領域をドラッグして,EdlitのCopyでバッファに残す.
  3. EditのSelect Allで画像全体を選択し,EditのClearで消去する.
  4. EditのPasteでバッファに残しておいた領域を戻す(図6のc).
  5. 逆FFTを行い,処理画像を得る(図6のd).
a 原画像 b スペクトル c 高周波削除 d 処理画像
図6 低域通過フィルタの流れ

帯域通過フィルタ
 これは,ある特定の周波数成分のみを残す処理です.
 以下のような手順で実行できますが,これまでと同様,残す領域の違いによって処理画像がどのように変わってくるか観察して下さい.
  1. FFTを行い,空間周波数領域画像を得る(図7のb).
  2. 残す領域より低周波の部分をドラッグして,EdlitのClearで削除する(図7のc).
  3. 残す領域をドラッグして,EdlitのCopyでバッファに残す.
  4. EditのSelect Allで画像全体を選択し,EditのClearで消去する.
  5. EditのPasteでバッファに残しておいた領域を戻す(図7のd).
  6. 逆FFTを行い,処理画像を得る(図7のe).
a 原画像 b スペクトル c 低周波削除 d 高周波削除 e 処理画像
図7 帯域通過フィルタの流れ

<課題>以下の胸部写真を用いて,以下の内容を確認せよ.高域通過フィルタ,低域通過フィルタ,帯域通過フィルタを試せ.
  1. 高域通過フィルタを試し,鮮鋭化処理(通常,Scroll Lock併用)とを見比べよ.
  2. 低域通過処理を試し,平滑化処理(通常,Scroll Lock併用)した画像と見比べよ.
  3. 帯域通過フィルタを試し,1,2と見比べよ.