strel
モルフォロジー構造化要素
説明
strel
オブジェクトは、モルフォロジー膨張演算および収縮演算の本質的な部分となるフラットなモルフォロジー "構造化要素" を表します。
フラットな構造化要素は 2 次元または多次元のバイナリ値の近傍であり、true
のピクセルがモルフォロジー計算に組み込まれ、false
のピクセルは除外されます。構造化要素の中心ピクセルは "原点" と呼ばれ、処理されるイメージ内のピクセルを識別します。関数 strel
(後述) を使用してフラットな構造化要素を作成します。バイナリ イメージおよびグレースケール イメージのフラットな構造化要素を使用できます。次の図はフラットな構造化要素を示しています。
非フラットな構造化要素を作成するには、offsetstrel
を使用します。
作成
構文
説明
任意の近傍形状
SE = strel(
は、指定された近傍 nhood
)nhood
を持つフラットな構造化要素を作成します。
2 次元幾何学的近傍形状
SE = strel("diamond",
は、菱形の形状の構造化要素を作成します。ここで、r
)r
は、構造化要素の原点から菱形の点までの距離を指定します。
SE = strel("octagon",
は、八角形の構造化要素を作成します。ここで、r
)r
は水平軸と垂直軸に沿って測定された、構造化要素の原点から八角形の辺までの距離を指定します。r
は非負で 3 の倍数でなければなりません。
SE = strel("rectangle",
は、サイズ [m n]
)[m n]
の四角形の構造化要素を作成します。
3 次元幾何学的近傍形状
SE = strel("cube",
は、幅が w
)w
ピクセルの 3 次元立方体の構造化要素を作成します。
SE = strel("cuboid",
は、サイズ m × n × p ピクセルの 3 次元直方体の構造化要素を作成します。 [m n p]
)
以下の構文も引き続き動作しますが、これらの非フラットな構造化要素の形状を作成する方法としては、offsetstrel
を推奨します。
SE = strel("arbitrary",nhood,h)
。ここで、h
は、nhood
の各非ゼロ要素と関連付けられた高さの値を格納するnhood
と同じサイズの行列です。SE = strel("ball",r,h,n)
入力引数
プロパティ
オブジェクト関数
例
ヒント
近似を使用しない (
n
=0) 構造化要素は粒度分布の計算に適していません。
アルゴリズム
すべての幾何学的形状では、構造化要素は "構造化要素分解" と総称して呼ばれるテクニックの集合を使用して構築されます。原理は、一部の大きな構造化要素による膨張は、小さい構造化要素のシーケンスを使用した膨張によって計算が高速になるということです。たとえば、11 行 11 列の正方形構造化要素による膨張は、1 行 11 列の構造化要素を使用してから 11 行 1 列の構造化要素を使用して膨張することによって達成できます。これにより、実際の性能がそれほど向上しない場合でも、5.5 の因子の理論上の性能が向上されます。"disk"
形状で使用される構造化要素分解は、近似であり、その他すべての分解は完全一致になります。
参照
[1] van den Boomgard, R, and R. van Balen, "Methods for Fast Morphological Image Transforms Using Bitmapped Images," Computer Vision, Graphics, and Image Processing: Graphical Models and Image Processing, Vol. 54, Number 3, pp. 252–254, May 1992.
[2] Adams, R., "Radial Decomposition of Discs and Spheres," Computer Vision, Graphics, and Image Processing: Graphical Models and Image Processing, Vol. 55, Number 5, pp. 325–332, September 1993.
[3] Jones, R., and P. Soille, "Periodic lines: Definition, cascades, and application to granulometrie," Pattern Recognition Letters, Vol. 17, pp. 1057–1063, 1996.