ドキュメンテーション

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

imbothat

ボトム ハット フィルター処理

構文

IM2 = imbothat(IM,SE)
IM2 = imbothat(IM,NHOOD)
gpuarrayIM2 = imbothat(gpuarrayIM,___)

説明

IM2 = imbothat(IM,SE) は、グレースケールまたはバイナリの入力イメージ IM にモルフォロジー ボトム ハット フィルター処理を適用し、フィルター処理されたイメージ IM2 を返します。SE は関数 strel によって返される構造化要素です。SE は複数の構造化要素オブジェクトを含む配列ではなく、単一の構造化要素オブジェクトでなければなりません。

IM2 = imbothat(IM,NHOOD) は、モルフォロジー ボトム ハット フィルター処理を行います。ここで、NHOOD は、構造化要素のサイズと形状を指定する 0 と 1 の配列です。これは、imbothat(IM,strel(NHOOD)) と等価です。

gpuarrayIM2 = imbothat(gpuarrayIM,___) は、GPU (グラフィックス処理装置) で処理を実行します。ここで、gpuarrayIMuint8 クラスまたは logical クラスの gpuArray です。この構文では Parallel Computing Toolbox™ が必要です。

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

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

クラス サポート

IM は、数値または論理値で非スパースでなければなりません。入力がバイナリ (論理) イメージの場合、構造化要素はフラットでなければなりません。

gpuarrayIMuint8 型または logical 型の gpuArray でなければなりません。gpuarray と併用する場合、構造化要素はフラットかつ 2 次元でなければなりません。

出力は入力と同じクラスになります。

すべて折りたたむ

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

I = imread('pout.tif');
imshow(I)

円盤型の構造化要素を作成します。

se = strel('disk',3);

元のイメージ I をトップ ハット フィルター処理したイメージに追加し、ボトム ハット フィルター処理したイメージを取り除きます。

J = imsubtract(imadd(I,imtophat(I,se)),imbothat(I,se));
figure
imshow(J)

イメージを gpuArray に読み取ります。

 original = gpuArray(imread('pout.tif'));

モルフォロジー処理に必要な円盤型の構造化要素を作成します。

se = strel('disk',3);

元のイメージ I をトップ ハット フィルター処理したイメージに追加し、ボトム ハット フィルター処理したイメージを取り除きます。

contrastFiltered = ...
       (original+imtophat(original,se))-imbothat(original,se);

詳細

すべて折りたたむ

コード生成

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

コードを生成する際、入力イメージ IM は 2 次元か 3 次元で、構造化要素の引数 SE は単一要素でなければなりません (構造化要素の配列はサポートされていません)。構造化要素の配列を使用した場合と同じ結果を得るには、関数を順次呼び出します。

MATLAB Function ブロック

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

R2006a より前に導入

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