1. 学ぶ
  2. /
  3. コース
  4. /
  5. Python による生体医療画像解析

Connected

演習

エッジ検出(2)

エッジ検出は複数の軸方向に対して行い、その結果を1つのエッジ値に統合することができます。2次元画像の場合、水平・垂直それぞれの「エッジマップ」をピタゴラスの定理を使って合成します:

$$z = \sqrt{x^2 + y^2}$$

代表的なエッジ検出手法の1つが Sobelフィルター です。Sobelフィルターは、検出器の中心ピクセルに対してより大きな重みを与えます:

weights = [[ 1,  2,  1], 
           [ 0,  0,  0],
           [-1, -2, -1]]

この演習では、2つのSobelフィルター適用後の画像を合成エッジマップに統合することで、前回のエッジ検出をさらに改善しましょう。

指示

100 XP
  • im に対して、第1軸と第2軸それぞれに ndi.sobel() を適用します。
  • ピタゴラスの定理を使って全体のエッジ強度を計算します。np.sqrt() と np.square() を使いましょう。
  • 強度画像を表示します。グレースケールのカラーマップを使用し、vmax を 75 に設定してください。