adaptthresh
局所的な 1 次統計量を使用する適応的なイメージのしきい値
説明
は、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')
しきい値を検出し、明るい背景から暗い米粒をセグメント化
イメージをワークスペースに読み取ります。
I = imread('printedtext.png');
adaptthresh
を使用して適応しきい値を計算し、局所的なしきい値イメージを表示します。これは背景の平均照度を推定したものです。
T = adaptthresh(I,0.4,'ForegroundPolarity','dark'); figure imshow(T)
局所的な適応しきい値を使用してイメージを 2 値化します。
BW = imbinarize(I,T); figure imshow(BW)
3 次元ボリュームのしきい値の計算
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
しきい値を計算します。
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
入力引数
I
— グレースケール イメージまたはボリューム
2 次元数値行列 | 3 次元数値配列
グレースケール イメージまたはボリューム。2 次元数値行列または 3 次元数値配列として指定します。
イメージに Inf
または NaN
が含まれている場合、adaptthresh
の動作は定義されません。Inf
または NaN
の伝播を Inf
または NaN
のピクセルの近傍のみに制限することはできない場合があります。
データ型: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
sensitivity
— 前景ピクセルとしてしきい値処理されるピクセルを決定
0.5
(既定値) | 範囲 [0, 1] の数値
どのピクセルが前景ピクセルとしてしきい値処理されるかを決定します。範囲 [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");
NeighborhoodSize
— 各ピクセル周囲の局所的な統計量を計算するために使用される近傍のサイズ
2*floor(size(I)/16)+1
(既定値) | 正の奇数の整数 | 正の奇数の整数の 2 要素ベクトル
各ピクセル周囲の局所的な統計量を計算するために使用される近傍のサイズ。正の奇数の整数、または正の奇数の整数から成る 2 要素ベクトルとして指定します。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
ForegroundPolarity
— 前景ピクセルと見なされるピクセルを決定
"bright"
(既定値) | "dark"
どのピクセルが前景ピクセルと見なされるかを決定します。次のいずれかを使用して指定します。
値 | 意味 |
---|---|
| 前景が背景より明るい。 |
| 前景が背景より暗い。 |
データ型: char
| string
Statistic
— 局所的なしきい値の計算に使用される統計量
"mean"
(既定値) | "median"
| "gaussian"
各ピクセルの局所的なしきい値の計算に使用される統計量。次のいずれかに指定します。
値 | 意味 |
---|---|
| 近傍の局所的な平均強度。この手法はブラッドリー法とも呼ばれます [1]。 |
| 近傍の局所的な中央値。この統計量の計算は遅くなる可能性があります。結果をより高速に取得するためには、使用する近傍のサイズを小さくしてください。 |
| 近傍のガウス加重平均。 |
データ型: char
| string
出力引数
参照
[1] Bradley, D., G. Roth, "Adapting Thresholding Using the Integral Image," Journal of Graphics Tools. Vol. 12, No. 2, 2007, pp.13–21.
拡張機能
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意および制限:
adaptthresh
では C コードの生成がサポートされています (MATLAB® Coder™ が必要)。汎用のMATLAB Host Computer
ターゲット プラットフォームを選択した場合、プリコンパイルされたプラットフォーム固有の共有ライブラリを使用するコードが、adaptthresh
によって生成されます。共有ライブラリを使用するとパフォーマンスの最適化は維持されますが、コードを生成できるターゲット プラットフォームが限定されます。詳細については、Image Processing Toolbox でサポートされているコード生成のタイプを参照してください。ForegroundPolarity
引数およびStatistic
引数はコンパイル時の定数でなければなりません。
GPU コード生成
GPU Coder™ を使用して NVIDIA® GPU のための CUDA® コードを生成します。
使用上の注意および制限:
ForegroundPolarity
引数および Statistic
引数はコンパイル時の定数でなければなりません。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数は、スレッドベースの環境を完全にサポートします。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
バージョン履歴
R2016a で導入R2022b: GPU Coder を使用した CUDA コードの生成
adaptthresh
は、最適化された CUDA® コードの生成をサポートするようになりました (GPU Coder™ が必要)。
R2021b: スレッドベース環境のサポート
adaptthresh
は、スレッドベースの環境をサポートするようになりました。
参考
MATLAB コマンド
次の 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:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)