Main Content

imtophat

トップ ハット フィルター処理

説明

J = imtophat(I,SE) は、構造化要素 SE を使用して、グレースケール イメージまたはバイナリ イメージ I 上でモルフォロジー トップハット フィルター処理を行います。トップハット フィルター処理を実行するとイメージのモルフォロジー オープニングが計算され (imopen を使用)、次に元のイメージから結果が減算されます。

J = imtophat(I,nhood) は、イメージ I をトップハット フィルター処理します。ここで、nhood は、構造化要素近傍を指定する 01 から構成される行列です。

この構文は、imtophat(I,strel(nhood)) と等価です。

すべて折りたたむ

この例では、円板型の構造化要素と共にトップ ハット フィルター処理を使用して、背景が暗いイメージから背景の不均一な照度を除去する方法を説明します。

イメージを読み取り、それを表示します。

original = imread('rice.png');
imshow(original)

Figure contains an axes object. The axes object contains an object of type image.

構造化要素を作成します。

se = strel('disk',12);

トップ ハット フィルター処理を実行して、イメージを表示します。

tophatFiltered = imtophat(original,se);
figure
imshow(tophatFiltered)

Figure contains an axes object. The axes object contains an object of type image.

imadjust を使用して、結果の可視状態を改良します。

contrastAdjusted = imadjust(tophatFiltered);
figure
imshow(contrastAdjusted)

Figure contains an axes object. The axes object contains an object of type image.

入力引数

すべて折りたたむ

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

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

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

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

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

出力引数

すべて折りたたむ

トップハット フィルター済みイメージ。グレースケール イメージまたはバイナリ イメージとして返されます。J のデータ型は入力イメージ I と同じです。

ヒント

  • イメージ I の次元が構造化要素の次元より高い場合、関数 imtophat は、高次元のすべての平面に対して同じモルフォロジー オープニングを適用します。

    この動作を使用して、RGB イメージのトップハット フィルター処理を行うことができます。カラー チャネル別に処理を行うには、RGB イメージの 2 次元構造化要素を指定します。

  • 構造化要素近傍を指定した場合、imtophat は、floor((size(nhood)+1)/2) によって nhood の中心要素を決定します。

拡張機能

バージョン履歴

R2006a より前に導入

参考

関数

オブジェクト