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

imdiffuseest

異方性拡散フィルター処理用パラメーターの推定

説明

[gradientThreshold,numberOfIterations] = imdiffuseest(I) は異方性拡散を使用して、グレースケール イメージ I のフィルター処理に必要な勾配のしきい値と反復回数を推定します。

[gradientThreshold,numberOfIterations] = imdiffuseest(I,Name,Value) は、名前と値のペアを使用して、異方性拡散アルゴリズムの動作を変更します。

すべて折りたたむ

グレースケール イメージを読み取り、強力なガウス ノイズをそれに適用します。ノイズを含むイメージを表示します。

I = imread('pout.tif');
Inoisy = imnoise(I,'gaussian',0,0.005);
imshow(Inoisy)
title('Noisy Image')

イメージの異方性拡散フィルター処理に必要な勾配のしきい値と反復回数を推定します。

[gradThresh,numIter] = imdiffuseest(Inoisy)
gradThresh = 1x5 uint8 row vector

   64   50   39   34   29

numIter = 5

推定パラメーターと共に異方性拡散を使用して、ノイズを含むイメージをフィルター処理します。

Idiffuseest = imdiffusefilt(Inoisy,'GradientThreshold', ...
     gradThresh,'NumberOfIterations',numIter);

比較のため、既定のパラメーターと共に異方性拡散を使用して、ノイズを含むイメージもフィルター処理します。イメージのデータ型が uint8 であるので、既定の勾配のしきい値は 25.5 です。既定の反復回数は 5 です。

Idiffusedef = imdiffusefilt(Inoisy);

2 つのフィルター済みイメージを視覚的に比較します。

 montage({Idiffusedef,Idiffuseest},'ThumbnailSize',[])
 title(['Anisotropic Diffusion Filtering Using ' ...
     'Default Parameters (Left) vs. Estimated Parameters (Right)'])

既定のパラメーターを使用してフィルター処理されたイメージに一部のノイズが残っています。推定パラメーターを使用してフィルター処理されたイメージからノイズがほぼ完全になくなっています。両方のイメージのエッジの鮮鋭度、特に格子の周りや白い襟のように、コントラストが大きいエッジは、保存されます。

入力引数

すべて折りたたむ

フィルター処理されるイメージ。2 次元グレースケール イメージとして指定します。

データ型: single | double | int16 | uint8 | uint16

名前と値のペアの引数

オプションの引数 Name,Value のコンマ区切りペアを指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を、任意の順番で指定できます。

例: imdiffuseest(I,'Connectivity','minimal') は最小の連結性を使用して、イメージ I で異方性拡散に必要なパラメーターを推定します。

近傍とのピクセルの連結性。'Connectivity''maximal' または 'minimal' で構成されるコンマ区切りのペアとして指定します。最大連結性では、最も近い 8 個の近傍を考慮し、最小連結性では、最も近い 4 個の近傍を考慮します。

伝導法。'ConductionMethod' と、'exponential' または 'quadratic' で構成されるコンマ区切りのペアとして指定します。指数拡散は高コントラストのエッジを低コントラストのエッジより優先します。2 次拡散は大きい領域を小さい領域より優先します。

出力引数

すべて折りたたむ

勾配のしきい値。入力イメージ I と同じデータ型の数値ベクトルとして返されます。ベクトルの長さは numberOfIterations に等しくなります。

拡散プロセスで使用するための反復の回数。正の整数として返されます。

参照

[1] Perona, P., and J. Malik. "Scale-space and edge detection using anisotropic diffusion." IEEE® Transactions on Pattern Analysis and Machine Intelligence. Vol. 12, No. 7, July 1990, pp. 629–639.

[2] Tsiotsios, C., and M. Petrou. "On the choice of the parameters for anisotropic diffusion in image processing." Pattern Recognition. Vol. 46, No. 5, May 2013, pp. 1369–1381.

R2018a で導入