ドキュメンテーション

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

imtophat

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

説明

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

オプションで、トップハット フィルター処理を GPU を使用して実行できます (Parallel Computing Toolbox™ が必要)。詳細は、GPU での画像処理を参照

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

すべて折りたたむ

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

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

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

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

se = strel('disk',12);

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

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

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

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

トップ ハット フィルター処理は、背景が暗い場合に、不均一な照度を補正するために使います。次の例は、円板型の構造化要素と共にトップ ハット フィルター処理を行い、イメージから背景の不均一な照度を除去します。

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

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

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

se = strel('disk',12);

トップ ハット フィルター処理を実行して、イメージを表示します。この例において、イメージが関数 imtophat に渡される前に、どのようにして関数 gpuArray に渡されるかに注意してください。

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

imadjust を使用して、結果の可視状態を改良します。関数 gather を使用して、gpuArray の内容が GPU から取得されます。

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

入力引数

すべて折りたたむ

入力イメージ。グレースケール イメージまたはバイナリ イメージとして指定します。I は任意の次元で、実数かつ非スパースでなければなりません。

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 として返されます。

拡張機能

参考

関数

オブジェクト

R2006a より前に導入