ドキュメンテーション

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

imclose

イメージにモルフォロジー クロージングを行う

説明

J = imclose(I,SE) は、グレースケールまたはバイナリ イメージ I 上でモルフォロジー クロージングを行い、クロージングされたイメージ J を返します。SE は関数 strel または offsetstrel で返される単一の構造化要素オブジェクトです。モルフォロジー クロージングは、膨張の後に収縮を行います。両方の操作に対して、同じ構造化要素を使用します。

オプションで、モルフォロジー クロージングを GPU を使用して実行できます (Parallel Computing Toolbox™ が必要)。詳細は、GPU での画像処理を参照

J = imclose(I,nhood) は、イメージ I をクロージング処理します。ここで、nhood は、構造化要素近傍を指定する 0 と 1 から構成される行列です。これは、構文 imclose(I,strel(nhood)) と等価です。関数 imclose は、floor((size(nhood)+1)/2) で近傍の中心要素を決定します。

すべて折りたたむ

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

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

円板型の構造化要素を作成します。円板型の構造化要素を使用して、オブジェクトの円の性質を保護します。大きな隙間を塗りつぶせるように、10 ピクセルの半径を指定します。

se = strel('disk',10);

イメージ上でモルフォロジー クロージングを行います。

closeBW = imclose(originalBW,se);
figure, imshow(closeBW)

モルフォロジー クロージングを使用してイメージ内の円の隙間を塗りつぶし、外周を滑らかにして円を結合します。

イメージをワークスペースに読み取り、これを表示します。

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

円板型の構造化要素を作成します。円板型の構造化要素を使用して、オブジェクトの円の性質を保護します。大きな隙間を塗りつぶせるように、10 ピクセルの半径を指定します。

se = strel('disk',10);

GPU でイメージのモルフォロジー クロージングを行います。

closeBW = imclose(gpuArray(originalBW),se);
figure
imshow(closeBW)

入力引数

すべて折りたたむ

入力イメージ。任意の次元のグレースケール イメージまたはバイナリ イメージとして指定します。

GPU を使用してクロージングを実行するには、Iuint8 型または logical 型のイメージを含む gpuArray として指定します。

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

構造化要素。単一の strel オブジェクトまたは offsetstrel のオブジェクトとして指定します。イメージ I がデータ型 logical である場合、構造化要素はフラットでなければなりません。

GPU を使用してクロージングを実行する場合、SE はフラットかつ 2 次元でなければなりません。

構造化要素近傍。0 と 1 から成る行列として指定します。

例: [0 1 0; 1 1 1; 0 1 0]

出力引数

すべて折りたたむ

クロージングされたイメージ。グレースケール イメージまたはバイナリ イメージとして返されます。J は入力イメージ I と同じクラスです。

GPU を使用してクロージングを実行する場合、JI と同じクラスのグレースケール イメージまたはバイナリ イメージを含む gpuArray として返されます。

互換性の考慮事項

すべて展開する

R2017a での動作変更

拡張機能

参考

関数

オブジェクト

R2006a より前に導入