ドキュメンテーション

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

imclearborder

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

構文

IM2 = imclearborder(IM)
IM2 = imclearborder(IM,conn)

説明

IM2 = imclearborder(IM) は、周りのものよりも明るく、イメージ境界に連結している構造を非表示にします。この関数を使用してイメージ境界をクリアします。IM はグレースケールまたはバイナリ イメージです。グレースケール イメージの場合、imclearborder は、境界構造を非表示にするだけでなく、全体的な強度レベルを低くする傾向があります。出力イメージ IM2 は、入力に応じてグレースケールまたはバイナリになります。既定の連結性は、2 次元の場合は 8、3 次元の場合は 26、高次元の場合は conndef(ndims(BW),'maximal') です。

IM2 = imclearborder(IM,conn) で必要な連結性を指定します。

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

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

すべて折りたたむ

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

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 =

     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 =

     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

入力引数

すべて折りたたむ

グレースケールまたはバイナリ イメージ。実数、非スパースの数値配列または論理配列として指定します。

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

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

連結性。次のテーブルのいずれかの値で指定します。

意味

2 次元連結性

4

4 連結近傍

8

8 連結近傍

3 次元連結性

6

6 連結近傍

18

18 連結近傍

26

26 連結近傍

連結性は、conn01 を要素とする 3 x 3 x ... x 3 行列として使用すると、任意の次元に対してより一般的に定義することもできます。1 の値を持つ要素は、conn の中心要素に対する近傍の位置を定義します。conn は、その中心要素の周りに対称でなければなりません。

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

例: I2 = imclearborder(I,4);

データ型: double | logical

出力引数

すべて折りたたむ

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

詳細

すべて折りたたむ

コード生成

この関数では MATLAB® Coder™ を使用した C コードの生成がサポートされています。汎用の MATLAB Host Computer ターゲット プラットフォームを選択した場合、プリコンパイルされたプラットフォーム固有の共有ライブラリを使用するコードが、この関数によって生成されます。共有ライブラリを使用するとパフォーマンスの最適化は維持されますが、コードを生成できるターゲット プラットフォームが限定されます。詳細は、「Image Processing Toolbox のコード生成について」を参照してください。

コード生成時には、以下に注意してください。

  • 3 次元までの入力のみがサポートされています。

  • オプションの 2 番目の入力引数 conn はコンパイル時の定数でなければなりません。

MATLAB Function ブロック

この関数は Simulink の MATLAB Function ブロックで使用できます。

アルゴリズム

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

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

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

参照

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

参考

R2006a より前に導入

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