ドキュメンテーション

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

imtophat

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

構文

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

説明

IM2 = imtophat(IM,SE) は、グレースケール イメージまたはバイナリ入力イメージ IM にモルフォロジーなトップ ハット フィルター処理を実行します。トップ ハット フィルター処理を実行するとイメージのモルフォロジーなオープン処理が計算され (imopen を使用)、次に元のイメージから結果が抽出されます。imtophat は構造化要素 SE を使用します。ここで、SEstrel によって出力されます。SE は、1 つの構造化要素オブジェクトで、複数の構造化要素オブジェクトを含む配列ではありません。

IM2 = imtophat(IM,NHOOD) のとき、NHOOD は、構造化要素のサイズと形状を設定する 0 と 1 の要素のみで作成されている配列です。これは、imptophat(IM,strel(NHOOD)) と等価です。

gpuarrayIM2 = imtophat(gpuarrayIM,___) は GPU で処理を実行します。NHOOD は、NHOOD が構造化要素近傍を指定する 01 からなる配列の場合は、strel(NHOOD) で指定される構造化要素です。NHOODgpuArray の場合は、strel(gather(NHOOD)) で構造化要素近傍を指定します。

クラス サポート

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

gpuarrayIMuint8 型または logical 型の gpuArray でなければなりません。gpuArray と併用する場合、構造化要素はフラットかつ 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)

拡張機能

R2006a より前に導入

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