ドキュメンテーション

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

imbinarize

しきい値処理によるイメージの 2 値化

構文

BW = imbinarize(I)
BW = imbinarize(I,method)
BW = imbinarize(I,T)
BW = imbinarize(I,'adaptive',Name,Value)

説明

BW = imbinarize(I) は、グローバルに決定されるしきい値より上の値をすべて 1 に置き換え、その他の値をすべて 0 に設定してイメージ I からバイナリ イメージを作成します。既定の設定では、imbinarize は Otsu 法を使用し、しきい値処理された黒と白のピクセルの級内分散を最小にするしきい値を選択します。imbinarize は 256 個のビンのイメージ ヒストグラムを使用して Otsu のしきい値を計算します。これと異なるヒストグラムを使用する場合は、otsuthresh を参照してください。BW は出力バイナリ イメージです。

BW = imbinarize(I,method) は、method で指定されたしきい値処理メソッドを使用してイメージ I からバイナリ イメージを作成します。

BW = imbinarize(I,T) は、しきい値 T を使用してイメージ I からバイナリ イメージを作成します。

BW = imbinarize(I,'adaptive',Name,Value) は、適応しきい値の特性を制御する名前と値のペアを使用してイメージ I からバイナリ イメージを作成します。

すべて折りたたむ

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

I = imread('coins.png');

イメージをバイナリ イメージに変換します。

BW = imbinarize(I);

元のイメージの横にバイナリ バージョンを表示します。

figure
imshowpair(I,BW,'montage')

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

I = imread('rice.png');

グレースケール イメージをバイナリ イメージに変換します。

BW = imbinarize(I, 'adaptive');

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

figure
imshowpair(I,BW,'montage')

グレースケール イメージをワークスペースに読み取って表示します。

I = imread('printedtext.png');
figure
imshow(I)
title('Original Image')

適応しきい値処理を使用してイメージをバイナリ イメージに変換します。前景が背景より暗いことを示すために、ForegroundPolarity パラメーターを使用します。

BW = imbinarize(I,'adaptive','ForegroundPolarity','dark','Sensitivity',0.4);

イメージのバイナリ バージョンを表示します。

figure
imshow(BW)
title('Binary Version of Image')

入力引数

すべて折りたたむ

入力イメージ。実数、非スパースの 2 次元行列として指定します。

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

イメージの 2 値化に使用するメソッド。次のいずれかの値に指定します (名前には省略形を使用できます)。

意味

'global'

Otsu 法を使用してグローバル イメージしきい値を計算します。Otsu 法の詳細については、graythresh を参照してください。

'adaptive'

選択された適応的なイメージのしきい値を、各ピクセル周辺の局所的な 1 次統計量を使用して局所的に計算します。詳細は、adaptthresh を参照してください。Inf または NaN がイメージに含まれている場合、'adaptive' メソッドの imbinarize の動作は定義されません。Inf または NaN の伝播を InfNaN のピクセルの近傍のみに制限することはできません。

データ型: char

しきい値。スカラーの輝度値または輝度値の行列として指定します。T がスカラーの輝度値の場合、imbinarize はそれをグローバル イメージしきい値として解釈します。T が輝度値の行列の場合、imbinarize はそれを局所的な適応しきい値として解釈します。T01 の値でなければなりません。T が行列の場合、I と同じサイズでなければなりません。関数 graythreshotsuthresh または adaptthresh を使用して T を計算します。

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

名前/値のペアの引数

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

例: BW = imbinarize(I,'adaptive','Sensitivity',0.4);

すべて折りたたむ

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

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

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

意味

'bright'

前景が背景より明るい。これは既定の設定です。

'dark'

前景が背景より暗い。

データ型: char

出力引数

すべて折りたたむ

出力バイナリ イメージ。I と同じサイズの論理配列として返されます。

ヒント

  • インデックス付きイメージからバイナリ イメージを生成するには、まず ind2gray を使用してイメージをグレースケール強度イメージに変換します。

  • RGB イメージからバイナリ イメージを生成するには、まず rgb2gray を使用してイメージをグレースケール強度イメージに変換します。

アルゴリズム

'adaptive' メソッドは局所的な適応しきい値を使用してイメージを 2 値化します。imbinarize はピクセルの近傍周辺の局所的な平均強度を使用して各ピクセルのしきい値を計算します (この手法はブラッドリー法とも呼ばれます)。また、'adaptive' メソッドはイメージ サイズの約 8 分の 1 (2*floor(size(I)/16)+1 として計算) となる近傍サイズを使用します。これとは異なる局所的な 1 次統計量または近傍サイズを使用する場合は、adaptthresh を参照してください。

拡張機能

R2016a で導入

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