ドキュメンテーション

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

bwperim

バイナリ イメージのオブジェクトの周囲を検出

説明

BW2 = bwperim(BW) は、入力イメージ BW 内のオブジェクトの周囲のピクセルのみを含むバイナリ イメージを返します。ピクセルは、非ゼロの場合、周囲の一部です。また、ゼロの値をとる少なくとも 1 つのピクセルに連結しています。

BW2 = bwperim(BW,conn) はピクセルの連結性 conn を指定します。

すべて折りたたむ

バイナリ イメージをワークスペースに読み取ります。

BW = imread('circles.png');

イメージ内のオブジェクトの周囲を計算します。

BW2 = bwperim(BW,8);

元のイメージと周囲を並べて表示します。

imshowpair(BW,BW2,'montage')

この例では、関数 bwperim を使用してバイナリ イメージの周囲のピクセルを検出する方法を説明します。

バイナリ イメージをワークスペースに読み取ります。

BW1 = imread('circbw.tif');

イメージ内のオブジェクトの境界線を検出します。

BW2 = bwperim(BW1);

元のイメージと境界線を明示したイメージを左右に並べて表示します。

montage({BW1,BW2},'BackgroundColor','blue','BorderSize',5)

入力引数

すべて折りたたむ

入力バイナリ イメージ。2 次元の数値行列または logical 行列として指定します。

例: BW = imread('circles.png');

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

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

平均

2 次元連結性

4 連結

ピクセルのエッジの部分が接触している場合、ピクセルは連結されます。2 つの隣り合ったピクセルは両方とも "on" の場合に同じオブジェクトの一部であり、水平方向または垂直方向に連結します。

8 連結

ピクセルのエッジまたはコーナーが接触している場合、ピクセルは連結されます。2 つの隣り合ったピクセルは両方とも "on" の場合に同じオブジェクトの一部であり、水平方向、垂直方向または対角方向に連結します。

3 次元連結性

6 連結

面が接触している場合、ピクセルは連結されます。2 つの隣り合ったピクセルは両方とも "on" の場合に同じオブジェクトの一部であり、次のように連結します。

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

18 連結

面またはエッジが接触している場合、ピクセルは連結されます。2 つの隣り合ったピクセルは両方とも "on" の場合に同じオブジェクトの一部であり、次のように連結します。

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

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

26 連結

面、エッジまたはコーナーが接触している場合、ピクセルは連結されます。2 つの隣り合ったピクセルは両方とも "on" の場合に同じオブジェクトの一部であり、次のように連結します。

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

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

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

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

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

データ型: double | logical

出力引数

すべて折りたたむ

オブジェクトの周囲のピクセルのみを含む出力イメージ。logical 配列として返されます。

拡張機能

R2006a より前に導入