ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

strel クラス

モルフォロジー構造化要素

    メモ:   次の構造化要素の形状を非フラットにする場合は、代わりに offsetstrel を使用してください。

    • SE = strel('arbitrary',NHOOD,HEIGHT)

    • SE = strel('ball',R,H,N)

    以下の構文は引き続き動作しますが、使用は推奨されません。

    • SE = strel('pair',OFFSET)

    • SE = strel('periodicline',P,V)

説明

strel オブジェクトは、モルフォロジー膨張演算および収縮演算の本質的な部分となるフラットなモルフォロジー "構造化要素" を表します。非フラットな構造化要素を作成するには、offsetstrel を使用します。

フラットな構造化要素は 2 次元または多次元のバイナリ値の近傍であり、true のピクセルがモルフォロジー計算に組み込まれ、false のピクセルは除外されます。構造化要素の中心ピクセルは "原点" と呼ばれ、処理されるイメージ内のピクセルを識別します。関数 strel を使用してフラットな構造化要素を作成します。バイナリ イメージおよびグレースケール イメージのフラットな構造化要素を使用できます。次の図はフラットな構造化要素を示しています。

構築

SE = strel('diamond',R) は、菱形の形状の構造化要素を作成します。ここで、R は、構造化要素の原点から菱形の点までの距離を指定します。

SE = strel('disk',R,N) は、円盤型の構造化要素を作成します。ここで、R は半径を指定します。N は円盤形状の近似に使用するラインの構造化要素の数を指定します。構造化要素で近似を使用すると、円盤の近似を使用するモルフォロジー演算がはるかに高速で実行されます。

SE = strel('line',len,deg) は、近傍の中心に対して対称な線形の構造化要素を作成します。deg は、水平軸から反時計回りに測定されたラインの角度 (単位は度) を指定します。len は、ラインの両端にある構造化要素メンバーの中心間のおよその距離です。

SE = strel('octagon',R) は、八角形の構造化要素を作成します。ここで、R は水平軸と垂直軸に沿って測定された、構造化要素の原点から八角形の辺までの距離を指定します。R は非負で 3 の倍数でなければなりません。

SE = strel('rectangle',MN) は、四角形の構造化要素を作成します。ここで、MN はサイズを指定します。

SE = strel('square',W) は、幅が W ピクセルの正方形の構造化要素を作成します。

SE = strel('cube',W) は、幅が W ピクセルの立方体の構造化要素を作成します。W は非負の整数スカラーでなければなりません。

SE = strel('cuboid',XYZ) は、サイズ XYZ の直方体の構造化要素を作成します。

SE = strel('sphere',R) は、半径が R ピクセルの球状の構造化要素を作成します。

SE = strel('arbitrary',nhood) は、構造化要素を作成します。ここで、NHOOD は、近傍を指定する 1 と 0 から構成される行列です。'arbitrary' を省略して、strel(nhood) と指定できます。

コード生成 サポート: あり。

MATLAB Function ブロック サポート: あり。

入力引数

すべて展開する

構造化要素の X-Y 平面での半径。非負の整数として指定します。

円盤型の場合、R は、円盤の原点から端までの距離です。

菱形の形状の場合、R は、構造化要素の原点から菱形の点までの距離です。

データ型: double

形状の近似に使用される周期的なラインの構造化要素の数。スカラー値 0、4、6 または 8 として指定します。N が 0 より大きい場合、円盤型の構造化要素は、N 個の周期的なラインの構造化要素のシーケンスによって近似されます。N が 0 の場合、strel は近似を使用せず、構造化要素メンバーは、中心が原点から R を超えないすべてのピクセルを含みます。構造化要素で近似を使用すると (N > 0)、円盤の近似を使用するモルフォロジー演算がはるかに高速で実行されます。strel は近似で追加の 2 つのラインの構造化要素を使用する必要がある場合もあります。この場合、使用される分解構造化要素の数は N + 2 です。

N の値動作
N > 0strel は、N (場合によっては N+2) 個の周期的なライン状の構造化要素のシーケンスを使用して形状を近似します。
N = 0strel は近似を使用しません。構造化要素メンバーは、中心が原点から R を超えないすべてのピクセルを含みます。また、対応する高さの値は、RH によって指定された楕円の方程式から決定されます。

データ型: double

四角形の構造化要素のサイズ。非負の整数の 2 要素ベクトルとして指定します。MN の最初の要素は、構造化要素の近傍の行数であり、2 番目の要素は列数です。

データ型: double

正方形または立方体の構造化要素の幅。非負の整数スカラーとして指定します。

データ型: double

直方体の構造化要素の次元。[X Y Z] の形式の非負の整数から成る 3 要素ベクトルとして指定します。X は行数、Y は列数、Z は 3 番目の次元の平面の数です。

データ型: double

近傍。1 と 0 から成る行列として指定します。1 の位置はモルフォロジー演算の近傍を定義します。nhood の中心 (または原点) は、floor((size(nhood) + 1)/2) よって指定された中心要素です。

データ型: double

プロパティ

すべて展開する

構造化要素近傍。logical クラスの行列として指定します。

データ型: logical

構造化要素の次元。double クラスの非負のスカラーとして指定します。

データ型: double

すべて展開する

11 行 11 列の正方形の構造化要素を作成します。

SE = strel('square', 11)
SE = 

strel is a square shaped structuring element with properties:

      Neighborhood: [11×11 logical]
    Dimensionality: 2

長さが 10、角度が 45 度のライン状の構造化要素を作成します。

SE = strel('line', 10, 45)
SE = 

strel is a line shaped structuring element with properties:

      Neighborhood: [7×7 logical]
    Dimensionality: 2

構造化要素を表示します。

SE.Neighborhood
ans =

  7×7 logical array

   0   0   0   0   0   0   1
   0   0   0   0   0   1   0
   0   0   0   0   1   0   0
   0   0   0   1   0   0   0
   0   0   1   0   0   0   0
   0   1   0   0   0   0   0
   1   0   0   0   0   0   0

半径 15 ピクセルの円盤型の構造化要素を作成します。

SE3 = strel('disk', 15)
SE3 = 

strel is a disk shaped structuring element with properties:

      Neighborhood: [29×29 logical]
    Dimensionality: 2

円盤型の構造化要素を表示します。

figure
imshow(SE3.Neighborhood)

半径 15 ピクセルの 3 次元の球状の構造化要素を作成します。

SE = strel('sphere', 15)
SE = 

strel is a sphere shaped structuring element with properties:

      Neighborhood: [31×31×31 logical]
    Dimensionality: 3

構造化要素を表示します。

figure
isosurface(SE.Neighborhood)

メソッド

decompose分解した構造化要素のシーケンスを返す
reflect構造化要素の対称形の作成
translate構造化要素の平行移動

定義

すべて展開する

ヒント

  • 近似を使用しない (N = 0) 構造化要素は粒度分布の計算に適していません。

アルゴリズム

'arbitrary' を除くすべての形状では、構造化要素は "構造化要素分解" と総称して呼ばれるテクニックの集合を使用して構築されます。原理は、一部の大きな構造化要素による膨張は、小さい構造化要素のシーケンスを使用した膨張によって計算が高速になるということです。たとえば、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.

R2006a より前に導入

この情報は役に立ちましたか?