Main Content

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

adaptthresh

局所的な 1 次統計量を使用する適応的なイメージのしきい値

説明

T = adaptthresh(I) は、2 次元グレースケール イメージまたは 3 次元グレースケール ボリューム I のための局所的な適応しきい値を計算します。関数 adaptthresh は各ピクセルの近傍の局所的な平均強度 (1 次統計量) に基づいてしきい値を選択します。しきい値 T は、グレースケール イメージをバイナリ イメージに変換する関数 imbinarize で使用できます。

T = adaptthresh(I,sensitivity) は、sensitivity で指定される感度係数を使用して局所的な適応しきい値を計算します。sensitivity は感度を示す範囲 [0,1] のスカラーであり、より多くのピクセルが前景としてしきい値処理されるようにします。

T = adaptthresh(___,Name,Value) は、しきい値処理の特性を制御する名前と値のペアを使用して局所的な適応しきい値を計算します。

すべて折りたたむ

イメージをワークスペースに読み取ります。

I = imread('rice.png');

adaptthresh により 2 値化演算で使用するしきい値を決定します。

T = adaptthresh(I, 0.4);

しきい値を指定してイメージをバイナリ イメージに変換します。

BW = imbinarize(I,T);

元のイメージとバイナリ バージョンを並べて表示します。

figure
imshowpair(I, BW, 'montage')

Figure contains an axes object. The axes object contains an object of type image.

イメージをワークスペースに読み取ります。

I = imread('printedtext.png');

adaptthresh を使用して適応しきい値を計算し、局所的なしきい値イメージを表示します。これは背景の平均照度を推定したものです。

T = adaptthresh(I,0.4,'ForegroundPolarity','dark');
figure
imshow(T)

Figure contains an axes object. The axes object contains an object of type image.

局所的な適応しきい値を使用してイメージを 2 値化します。

BW = imbinarize(I,T);
figure
imshow(BW)

Figure contains an axes object. The axes object contains an object of type image.

3 次元ボリュームをワークスペースに読み込みます。

load mristack;
V = mristack;

データを表示します。

figure
slice(double(V),size(V,2)/2,size(V,1)/2,size(V,3)/2)
colormap gray
shading interp

Figure contains an axes object. The axes object contains 3 objects of type surface.

しきい値を計算します。

J = adaptthresh(V,'neigh',[3 3 3],'Fore','bright');

しきい値を表示します。

figure
slice(double(J),size(J,2)/2,size(J,1)/2,size(J,3)/2)
colormap gray
shading interp

Figure contains an axes object. The axes object contains 3 objects of type surface.

入力引数

すべて折りたたむ

グレースケール イメージまたはボリューム。2 次元数値行列または 3 次元数値配列として指定します。

イメージに Inf または NaN が含まれている場合、adaptthresh の動作は定義されません。Inf または NaN の伝播を Inf または NaN のピクセルの近傍のみに制限することはできない場合があります。

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

どのピクセルが前景ピクセルとしてしきい値処理されるかを決定します。範囲 [0, 1] の数値として指定します。感度の値を高くすると、前景としてしきい値処理されるピクセルが多くなります。ただし、一部の背景ピクセルが含まれる危険性もあります。

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

名前と値の引数

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

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

例: T = adaptthresh(I,0.4,"ForegroundPolarity","dark");

各ピクセル周囲の局所的な統計量を計算するために使用される近傍のサイズ。正の奇数の整数、または正の奇数の整数から成る 2 要素ベクトルとして指定します。

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

どのピクセルが前景ピクセルと見なされるかを決定します。次のいずれかを使用して指定します。

意味

"bright"

前景が背景より明るい。

"dark"

前景が背景より暗い。

データ型: char | string

各ピクセルの局所的なしきい値の計算に使用される統計量。次のいずれかに指定します。

意味

"mean"

近傍の局所的な平均強度。この手法はブラッドリー法とも呼ばれます [1]

"median"

近傍の局所的な中央値。この統計量の計算は遅くなる可能性があります。結果をより高速に取得するためには、使用する近傍のサイズを小さくしてください。

"gaussian"

近傍のガウス加重平均。

データ型: char | string

出力引数

すべて折りたたむ

正規化された強度値。入力イメージまたはボリューム I と同じサイズの数値行列または数値配列として返されます。値は、[0, 1] の範囲に正規化されます。

データ型: double

参照

[1] Bradley, D., G. Roth, "Adapting Thresholding Using the Integral Image," Journal of Graphics Tools. Vol. 12, No. 2, 2007, pp.13–21.

拡張機能

バージョン履歴

R2016a で導入

すべて展開する