ヘルプ センターヘルプ センター
このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
トップ ハット フィルター処理
J = imtophat(I,SE)
J = imtophat(I,nhood)
J = imtophat(I,SE) は、構造化要素 SE を使用して、グレースケール イメージまたはバイナリ イメージ I 上でモルフォロジー トップハット フィルター処理を行います。トップハット フィルター処理を実行するとイメージのモルフォロジー オープニングが計算され (imopen を使用)、次に元のイメージから結果が減算されます。
J
I
SE
imopen
例
J = imtophat(I,nhood) は、イメージ I をトップハット フィルター処理します。ここで、nhood は、構造化要素近傍を指定する 0 と 1 から構成される行列です。
nhood
0
1
この構文は、imtophat(I,strel(nhood)) と等価です。
imtophat(I,strel(nhood))
strel
すべて折りたたむ
この例では、円板型の構造化要素と共にトップ ハット フィルター処理を使用して、背景が暗いイメージから背景の不均一な照度を除去する方法を説明します。
イメージを読み取り、それを表示します。
original = imread('rice.png'); imshow(original)
構造化要素を作成します。
se = strel('disk',12);
トップ ハット フィルター処理を実行して、イメージを表示します。
tophatFiltered = imtophat(original,se); figure imshow(tophatFiltered)
imadjust を使用して、結果の可視状態を改良します。
imadjust
contrastAdjusted = imadjust(tophatFiltered); figure imshow(contrastAdjusted)
入力イメージ。任意の次元のグレースケール イメージまたはバイナリ イメージとして指定します。
データ型: 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 の次元が構造化要素の次元より高い場合、関数 imtophat は、高次元のすべての平面に対して同じモルフォロジー オープニングを適用します。
imtophat
この動作を使用して、RGB イメージのトップハット フィルター処理を行うことができます。カラー チャネル別に処理を行うには、RGB イメージの 2 次元構造化要素を指定します。
構造化要素近傍を指定した場合、imtophat は、floor((size(nhood)+1)/2) によって nhood の中心要素を決定します。
floor((size(nhood)+1)/2)
使用上の注意および制限:
imtophat では C コードの生成がサポートされています (MATLAB® Coder™ が必要)。汎用の MATLAB Host Computer ターゲット プラットフォームを選択した場合、プリコンパイルされたプラットフォーム固有の共有ライブラリを使用するコードが、imtophat によって生成されます。共有ライブラリを使用するとパフォーマンスの最適化は維持されますが、コードを生成できるターゲット プラットフォームが限定されます。詳細については、Image Processing Toolbox でサポートされているコード生成のタイプを参照してください。
MATLAB Host Computer
入力イメージ I は 2 次元または 3 次元でなければなりません。
イメージ入力 I は 2 次元または 3 次元でなければなりません。
構造化要素 SE はコンパイル時の定数でなければなりません。
backgroundPool
ThreadPool
この関数は、スレッドベースの環境を完全にサポートします。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
gpuArray 入力は uint8 型または logical 型でなければなりません。
gpuArray
構造化要素 SE はフラットで 2 次元でなければなりません。
詳細については、GPU でのイメージ処理を参照してください。
すべて展開する
imtophat は、スレッドベースの環境をサポートするようになりました。
imclose
imdilate
imerode
imbothat
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office