MATLAB ヘルプ センター
ボトム ハット フィルター処理
J = imbothat(I,SE)
J = imbothat(I,nhood)
J = imbothat(I,SE) は、構造化要素 SE を使用して、グレースケール イメージまたはバイナリ イメージ I 上でモルフォロジー ボトムハット フィルター処理を行います。ボトムハット フィルター処理を実行するとイメージのモルフォロジー クロージングが計算され (imclose を使用)、次に結果から元のイメージが減算されます。
J
I
SE
imclose
例
J = imbothat(I,nhood) は、イメージ I をボトムハット フィルター処理します。ここで、nhood は、構造化要素近傍を指定する 0 と 1 から構成される行列です。
nhood
0
1
この構文は、imbothat(I,strel(nhood)) と等価です。
imbothat(I,strel(nhood))
strel
すべて折りたたむ
イメージをワークスペースに読み取って表示します。
I = imread('pout.tif'); imshow(I)
円板型の構造化要素を作成します。
se = strel('disk',3);
元のイメージ I をトップ ハット フィルター処理したイメージに追加し、ボトム ハット フィルター処理したイメージを取り除きます。
J = imsubtract(imadd(I,imtophat(I,se)),imbothat(I,se)); figure imshow(J)
入力イメージ。任意の次元のグレースケール イメージまたはバイナリ イメージとして指定します。
データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical
single
double
int8
int16
int32
uint8
uint16
uint32
logical
offsetstrel
構造化要素。strel オブジェクトまたは offsetstrel オブジェクトとして指定します。イメージ I がデータ型 logical である場合、構造化要素はフラットでなければなりません。
構造化要素近傍。0 と 1 から成る行列として指定します。
例: [0 1 0; 1 1 1; 0 1 0]
[0 1 0; 1 1 1; 0 1 0]
ボトムハット フィルター処理済みイメージ。グレースケール イメージまたはバイナリ イメージとして返されます。J のデータ型は入力イメージ I と同じです。
イメージ I の次元が構造化要素の次元より高い場合、関数 imbothat は、高次元のすべての平面に対して同じモルフォロジー クロージングを適用します。
imbothat
この動作を使用して、RGB イメージのボトムハット フィルター処理を行うことができます。カラー チャネル別に処理を行うには、RGB イメージの 2 次元構造化要素を指定します。
構造化要素近傍を指定した場合、imbothat は、floor((size(nhood)+1)/2) によって nhood の中心要素を決定します。
floor((size(nhood)+1)/2)
すべて展開する
使用上の注意および制限:
imbothat では C コードの生成がサポートされています (MATLAB® Coder™ が必要)。汎用の MATLAB Host Computer ターゲット プラットフォームを選択した場合、プリコンパイルされたプラットフォーム固有の共有ライブラリを使用するコードが、imbothat によって生成されます。共有ライブラリを使用するとパフォーマンスの最適化は維持されますが、コードを生成できるターゲット プラットフォームが限定されます。詳細については、Image Processing Toolbox でサポートされているコード生成のタイプを参照してください。
MATLAB Host Computer
入力イメージ I は 2 次元または 3 次元でなければなりません。
最適化された C コードを生成するには、入力イメージ I を除くすべての入力引数がコンパイル時の定数でなければなりません。
イメージ入力 I は 2 次元または 3 次元でなければなりません。
構造化要素 SE はコンパイル時の定数でなければなりません。
最適化された CUDA コードを生成するには、入力イメージ I を除くすべての入力引数がコンパイル時の定数でなければなりません。
backgroundPool
ThreadPool
この関数は、スレッドベースの環境を完全にサポートします。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
gpuArray 入力は uint8 型または logical 型でなければなりません。
gpuArray
構造化要素 SE はフラットで 2 次元でなければなりません。
詳細については、GPU でのイメージ処理を参照してください。
imbothat は、スレッドベースの環境をサポートするようになりました。
imclose | imdilate | imerode | imopen | imtophat
imdilate
imerode
imopen
imtophat
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ