Main Content

imclearborder

イメージ境界と連結している明るい構造を非表示にする

説明

J = imclearborder(I) は、周りのものよりも明るく、イメージ境界に連結している、イメージ I 内の構造を非表示にします。この関数を使用してイメージ境界をクリアします。グレースケール イメージの場合、imclearborder は、境界構造を非表示にするだけでなく、全体的な強度レベルを低くする傾向があります。出力イメージ J は、入力に応じてグレースケールまたはバイナリになります。

J = imclearborder(I,conn) はピクセルの連結性 conn を指定します。

すべて折りたたむ

シンプルなバイナリ イメージを作成します。

BW = [0     0     0     0     0     0     0     0     0
      0     0     0     0     0     0     0     0     0
      0     0     0     0     0     0     0     0     0
      1     0     0     1     1     1     0     0     0
      0     1     0     1     1     1     0     0     0
      0     0     0     1     1     1     0     0     0
      0     0     0     0     0     0     0     0     0
      0     0     0     0     0     0     0     0     0
      0     0     0     0     0     0     0     0     0];

4 連結性を使用してイメージの境界にあるピクセルをクリアします。imclearborder は (5,2) のピクセルをクリアしません。4 連結性を使用すると、(4,1) の境界のピクセルに連結しているとは見なされないからです。

BWc1 = imclearborder(BW,4)
BWc1 = 9×9

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

次に、8 連結性を使用してイメージの境界にあるピクセルをクリアします。imclearborder は (5,2) のピクセルをクリアします。8 連結性を使用すると、(4,1) の境界のピクセルに連結していると見なされるためです。

BWc2 = imclearborder(BW,8)
BWc2 = 9×9

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

入力引数

すべて折りたたむ

グレースケールまたはバイナリ イメージ。数値配列または logical 配列として指定します。

例: I = imread('pout.tif');

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

ピクセルの連結性。次の表のいずれかの値を指定します。既定の連結性は 2 次元イメージでは 8、3 次元イメージでは 26 です。

平均

2 次元連結性

4

ピクセルのエッジの部分が接触している場合、ピクセルは連結されます。ピクセルの近傍は水平方向または垂直方向に隣接するピクセルです。

3-by-3 pixel neighborhood with four pixels connected to the center pixel

現在のピクセルを灰色で示します。

8

ピクセルのエッジまたはコーナーが接触している場合、ピクセルは連結されます。ピクセルの近傍は水平方向、垂直方向または対角方向に隣接するピクセルです。

3-by-3 pixel neighborhood with 8 pixels connected to the center pixel

現在のピクセルを灰色で示します。

3 次元連結性

6

面が接触している場合、ピクセルは連結されます。ピクセルの近傍は次のように隣接するピクセルです。

  • 次のいずれかの方向: 奥、手前、左、右、上および下

3-by-3-by-3 pixel neighborhood with 6 pixels connected to the faces of the center pixel

現在のピクセルを灰色で示します。

18

面またはエッジが接触している場合、ピクセルは連結されます。ピクセルの近傍は次のように隣接するピクセルです。

  • 次のいずれかの方向: 奥、手前、左、右、上および下

  • 右下または上の奥など、2 つの方向の組み合わせ

3-by-3-by-3 pixel neighborhood with 6 pixels connected to the faces and 12 pixels connected to the edges of the center pixel

現在のピクセルは立方体の中心です。

26

面、エッジまたはコーナーが接触している場合、ピクセルは連結されます。ピクセルの近傍は次のように隣接するピクセルです。

  • 次のいずれかの方向: 奥、手前、左、右、上および下

  • 右下または上の奥など、2 つの方向の組み合わせ

  • 右上の奥または左下の奥など、3 つの方向の組み合わせ

3-by-3-by-3 pixel neighborhood with 6 pixels connected to the faces, 12 pixels connected to the edges, and 8 pixels connected to the corners of the center pixel

現在のピクセルは立方体の中心です。

高次元の場合、imclearborder は既定値 conndef(ndims(I),'maximal') を使用します。

連結性は、01 から成る 3 × 3 × ... × 3 行列を指定し、任意の次元に対してより一般的に定義することもできます。1 の値を持つ要素は、conn の中心要素に対する近傍の位置を定義します。conn は、その中心要素に関して対称でなければなりません。詳細については、カスタム連結性の定義を参照してください。

メモ

既定以外の連結性を設定した場合、入力イメージのエッジ上のピクセルは、境界上のピクセルであるとは見なされません。たとえば、conn = [0 0 0; 1 1 1; 0 0 0] の場合、最初と最後の行の上の要素は、連結性の定義に従って、イメージの外側の領域と接続していないため境界のピクセルとは見なされません。

データ型: double | logical

出力引数

すべて折りたたむ

処理されたグレースケールまたはバイナリ イメージ。指定した入力イメージに応じて、数値配列または logical 配列として返されます。

アルゴリズム

imclearborder はモルフォロジー再構成を使用します。

  • マスク イメージは入力イメージです。

  • マーカー イメージは境界沿いを除きすべて 0 で、マスク イメージと等しくなります。

参照

[1] Soille, P., Morphological Image Analysis: Principles and Applications, Springer, 1999, pp. 164-165.

拡張機能

バージョン履歴

R2006a より前に導入

参考