Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

imgaussfilt

イメージの 2 次元ガウス フィルター処理

説明

B = imgaussfilt(A) は、標準偏差 0.5 の 2 次元ガウス平滑化カーネルでイメージ A をフィルター処理し、フィルター処理されたイメージを B に返します。

B = imgaussfilt(A,sigma) は、sigma で指定された標準偏差の 2 次元ガウス平滑化カーネルでイメージ A をフィルター処理します。

B = imgaussfilt(___,Name,Value) は、フィルター処理の特性を制御する名前と値の引数を使用します。

すべて折りたたむ

フィルター処理するイメージを読み取ります。

I = imread('cameraman.tif');

標準偏差 2 の ガウス フィルターでイメージをフィルター処理します。

Iblur = imgaussfilt(I,2);

元のイメージとフィルター処理されたイメージをモンタージュに表示します。

montage({I,Iblur})
title('Original Image (Left) Vs. Gaussian Filtered Image (Right)')

Figure contains an axes object. The axes object with title Original Image (Left) Vs. Gaussian Filtered Image (Right) contains an object of type image.

入力引数

すべて折りたたむ

フィルター処理されるイメージ。任意の次元の数値配列として指定します。

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

ガウス分布の標準偏差。正の数値または正の数値の 2 要素ベクトルとして指定します。スカラーを指定した場合、imgaussfilt は正方形ガウス カーネルを使用します。

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

名前と値の引数

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用して名前と値をそれぞれ区切り、Name を引用符で囲みます。

例: 'FilterSize',3

ガウス フィルターのサイズ。正の奇数、または正の奇数の 2 要素ベクトルとして指定します。スカラーを指定した場合、imgaussfilt は正方形フィルターを使用します。既定のフィルター サイズは 2*ceil(2*sigma)+1 です。

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

イメージ パディング。次のいずれかに指定します。

説明
数値スカラー定数値の要素によってイメージをパディングします。
'circular'

次元内で巡回的に要素を繰り返しパディングします。

'replicate'

配列の境界の要素を繰り返すことによってパディングします。

'symmetric'

イメージをそれ自体の鏡像でパディングします。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string

フィルター処理を実行する領域。以下のいずれかの値に指定します。

説明
'auto'内部の経験則に基づいて空間領域または周波数領域で畳み込みを実行します。
'frequency'周波数領域で畳み込みを実行します。
'spatial'空間領域で畳み込みを実行します。

データ型: char | string

出力引数

すべて折りたたむ

フィルター処理されたイメージ。入力イメージ A と同じクラスとサイズの数値配列として返されます。

ヒント

  • 値が Inf または NaN である要素がイメージ A に含まれている場合、imgaussfilt の周波数領域でのフィルター処理動作は定義されません。これは、名前と値の引数 'FilterDomain''frequency' を設定するか、'auto' を設定し、なおかつ imgaussfilt で周波数領域のフィルター処理を使用した場合に発生します。imfilter と同様の方法で出力での InfNaN の伝播を制限するために、名前と値の引数 'FilterDomain''spatial' を設定することを検討してください。

  • 名前と値の引数 'FilterDomain''auto' を設定すると、imgaussfilt は内部の経験則を使用して、空間領域と周波数領域のいずれのフィルター処理が高速かを判定します。この経験則はマシンに依存し、各種構成によって異なる場合があります。最適なパフォーマンスを得られるように、'spatial''frequency' の両方のオプションを試し、使用するイメージとカーネル サイズに最適なフィルター処理領域を決定します。

  • 名前と値の引数 'Padding' を指定しない場合、imgaussfilt は既定の設定で 'replicate' パディングを使用します。これは imfilter で使用される既定の設定とは異なります。

拡張機能

バージョン履歴

R2015a で導入

すべて展開する