ドキュメンテーション

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

bweuler

バイナリ イメージのオイラー数

構文

eul = bweuler(BW,n)

説明

eul = bweuler(BW,n) は、バイナリ イメージ BW のオイラー数を返します。オイラー数は、イメージ内のオブジェクトの合計数からそれらのオブジェクト内の穴の合計数を差し引いた数です。n は連結性を指定します。オブジェクトは、on ピクセル (1 の値をもつピクセル) の連結集合です。

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

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

すべて折りたたむ

バイナリ イメージをワークスペースに読み取って表示します。

BW = imread('circles.png');
imshow(BW)

オイラー数を計算します。この例では、すべての円が接触しているため、1 つのオブジェクトが作成されます。オブジェクトには 4 つの "穴" (接触している円によって作成される黒い領域) があります。したがって、オイラー数は 1 - 4、つまり -3 です。

bweuler(BW)
ans =

    -3

入力引数

すべて折りたたむ

入力バイナリ イメージ。論理行列または数値行列として指定します。2 次元、実数、かつ非スパースでなければなりません。

例: BW = imread('circles.png');eul = bweuler(BW,4);

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

連結性。4 または 8 のいずれかの値として指定します。

説明
44 連結オブジェクト
88 連結オブジェクト

例: BW2 = bweuler(BW,4);

データ型: double

出力引数

すべて折りたたむ

オイラー数。double クラスの数値のスカラー値として返されます。

詳細

すべて折りたたむ

コード生成

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

MATLAB Function ブロック

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

アルゴリズム

bweuler は、2 行 2 列の局所的な近傍の凹凸パターンを検討することにより、オイラー数を計算します。使用するアルゴリズムの説明は、[2] を参照してください。

参照

[1] Horn, Berthold P. K., Robot Vision, New York, McGraw-Hill, 1986, pp. 73-77.

[2] Pratt, William K., Digital Image Processing, New York, John Wiley & Sons, Inc., 1991, p. 633.

R2006a より前に導入

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