ドキュメンテーションヘルプセンタードキュメンテーション
このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
大津法を使用する複数レベルのイメージしきい値
打= multithresh (A)
打= multithresh (N),
(打,度量)= multithresh (___)
例
打= multithresh (一个)は大津法を使用してイメージ一个に対して計算された1つのしきい値打を返します。打をimquantizeの入力引数として使用すると,イメージを2レベルのイメージに変換できます。
打= multithresh (一个)
打
一个
imquantize
打= multithresh (一个,N)は大津法を使用してN個のしきい値を含む1行N列のベクトル打を返します。打をimquantizeの入力引数として使用すると,イメージ一个をN + 1個の離散レベルを持つイメージに変換できます。
打= multithresh (一个,N)
N
N + 1
[打,度规) = multithresh (___)は,計算されたしきい値の効果の尺度である度规を返します。
[打,度规) = multithresh (___)
度规
すべて折りたたむ
イメージを読み取り,それを表示します。
我= imread (“coins.png”);imshow(我)
イメージのしきい値を1つ計算します。
水平= multithresh(我);
multithreshから返されたしきい値レベルを指定してimquantizeを使用してイメージを2つの領域にセグメント化します。
multithresh
seg_I = imquantize(我、水平);图imshow (seg_I, [])
我= imread (“circlesBrightDark.png”);imshow (I)轴从标题(原始图像的)
2つのしきい値レベルを計算します。
打= multithresh(我,2);
imquantizeを使用してイメージを3つのレベルにセグメント化します。
seg_I = imquantize(我打);
label2rgbを使用してセグメント化したイメージをカラーイメージに変換し,それを表示します。
label2rgb
RGB = label2rgb (seg_I);图;imshow (RGB)轴从标题(RGB图像分割的)
トゥルーカラー(RGB)イメージを読み取り,それを表示します。
我= imread (“peppers.png”);imshow (I)轴从标题(“RGB图像”);
RGBイメージ全体から7つのレベルのしきい値を生成します。
threshRGB = multithresh (7);
RGBイメージの平面ごとにしきい値を生成します。
threshForPlanes = 0(3、7);为i = 1:3 threshForPlanes(我:)= multithresh(我(:,:,i), 7);结束
イメージ全体から計算された一連のしきい値を使用してイメージ全体を処理します。
value = [0 threshRGB(2:end) 255];quantRGB = imquantize(I, threshRGB, value);
指定された平面から計算されたしきい値ベクトルを使用して各RGB平面を個別に処理します。各RGB平面で生成されたしきい値ベクトルを使用してその平面を量子化します。
quantPlane = 0 (size(I));为i = 1:3 value = [0 threshForPlanes(i,2:end) 255];quantPlane(:,:我)= imquantize(我(:,:,i), threshForPlanes(我:),值);结束quantPlane = uint8 (quantPlane);
ポスタリゼーションされた両方のイメージを表示して,2つのしきい値処理スキームの視覚的な違いを確認してください。
imshowpair (quantRGB quantPlane,“蒙太奇”)轴从标题(“全RGB图像量化平面逐平面量化”)
結果を比較するには,各出力イメージにおける一意のRGBピクセルベクトルの数を計算します。完全なRGBイメージスキームよりも平面ごとのしきい値処理スキームのほうが,生成されている色が23%多くなっています。
dim = size(quantRGB);qtrgbmx3 =重塑(qtrgb, prod(dim(1:2)), 3);quantPlanemx3 =重塑(quantPlane, prod(dim(1:2)), 3);colorsRGB =独特(quantRGBmx3,“行”);colorsPlane =独特(quantPlanemx3,“行”);disp ([“RGB图像中独特的颜色:”int2str(长度(colorsRGB))));
独特的颜色在RGB图像:188
disp ([“飞机上的独特色彩:”int2str(长度(colorsPlane))));
独特的色彩在飞机的图像:231
イメージを読み取ります。
我= imread (“circlesBrightDark.png”);
イメージ内の一意のグレースケール値をすべて検出します。
uniqLevels =独特的(我(:));disp (['唯一级别的数量= 'int2str(长度(uniqLevels))));
独特关卡的数量= 148
単調に増加するNの値に対する一連のしきい値を計算します。
Nvals = [1 2 4 8];为i = 1:length(Nvals) [thresh, metric] = multithresh(i, Nvals(i));disp ([“N =”int2str(造船(我))' | metric = 'num2str(公制)]);结束
N = 1 | metric = 0.54767 N = 2 | metric = 0.98715 N = 4 | metric = 0.99648 N = 8 | metric = 0.99902
8つの値からなる一連のしきい値を適用してimquantizeで9レベルのセグメンテーションを行います。
seg_Neq8 = imquantize(我打);uniqLevels = unique(seg_Neq8(:))
uniqLevels =9×11 2 3 4 5 6 7 8 9
seg_Neq8をmultithreshへの入力として使用し,イメージのしきい値処理を行います。Nは8(このセグメント化されたイメージのレベル数より1小さい値)に等しくなります。multithreshは度规値の1を返します。
seg_Neq8
[thresh, metric] = multithresh(seg_Neq8,8)
打=1×81.8784 2.7882 3.6667 4.5451 5.4549 6.3333 7.2118 8.1216
度量= 1
今度はNの値を1増やしてもう一度イメージをしきい値処理します。この値はイメージのレベル数と等しくなっています。イメージのレベル数が要求されたしきい値の数に対して少なすぎたため,入力が退化していることに注意してください。のそのため,multithreshは0度规値を返します。
[thresh, metric] = multithresh(seg_Neq8,9)
警告:没有解决方案存在,因为图像中的唯一级别的数量太少,无法找到9个阈值。返回任意选择的解。
打=1×91 2 3 4 5 6 7 8 9
度量= 0
しきい値処理されるイメージ。任意の次元の数値配列として指定します。multithreshは配列全体の集計ヒストグラムに基づいてしきい値を検出します。multithreshはRGBイメージを3次元の数値配列と見なし,3つの色平面すべてを組み合わせたデータでしきい値を計算します。
multithreshは入力イメージ一个の範囲(最小((:))最大((:)))を,以降の計算で使うヒストグラムを計算するための制限として使用します。multithreshは計算でnanを無視します。正と负は,ヒストグラムの最初のビンと最後のビンでそれぞれカウントされます。
(最小((:))最大((:)))
nan
正
负
一个内の一意の値の数がN個以下である縮退した入力には,大津法を使用した有効な解はありません。このような入力の場合,戻り値打には一个のすべての固有の値と,場合によって任意に選ばれたその他の値がいくつか含まれます。
データ型:单|双|int16|uint8|uint16
单
双
int16
uint8
uint16
1
しきい値の数。正の整数として指定します。N > 2の場合,multithreshは大津基準の探索ベースの最適化を使用してしきい値を検出します。探索ベースの最適化では,局所的な最適化結果のみが保証されます。局所的最適値に収束する確率はNに応じて増加するため,比較的小さい値のN(通常はN < 10)を使用するのが適切です。Nの最大許容値は20です。
N > 2
N < 10
データ型:单|双|int8|int16|int32|int64|uint8|uint16|uint32|uint64
int8
int32
int64
uint32
uint64
イメージを量子化するために使用される一連のしきい値。データ型がイメージ一个と同じである1行N列の数値ベクトルとして返されます。
これらのしきい値は入力イメージ一个と同じ範囲であり,範囲[0,1]に正規化したしきい値を返す関数graythreshとは異なります。
graythresh
しきい値の効果の尺度。範囲[0,1]の数値として返されます。高い値は,大津法の客観的基準に基づいて入力イメージをN + 1個のクラスに分けるときに,しきい値の効果が大きいことを示します。一个内の異なる値の数がN個以下である縮退した入力の場合,度规は0となります。
データ型:双
[1] Otsu, N.,“灰度直方图中的阈值选择方法”,IEEE Transactions on Systems, Man, and Cybernetics, Vol. 9, No. 1, 1979, pp. 62-66。
使用上の注意および制限:
multithreshではCコードの生成がサポートされています(MATLAB®编码器™が必要)。汎用のMATLAB主机ターゲットプラットフォームを選択した場合,プリコンパイルされたプラットフォーム固有の共有ライブラリを使用するコードが,multithreshによって生成されます。共有ライブラリを使用するとパフォーマンスの最適化は維持されますが,コードを生成できるターゲットプラットフォームが限定されます。詳細については,共有ライブラリを使用したコード生成を参照してください。
MATLAB主机
入力引数Nはコンパイル時の定数でなければなりません。
graythresh|im2bw|imquantize|rgb2ind
im2bw
rgb2ind
この例の変更されたバージョンがあります。編集された方の例を開きますか吗?
次のMATLABコマンドに対応するリンクがクリックされました。
コマンドをMATLABコマンドウィンドウに入力して実行してください。WebブラウザーはMATLABコマンドをサポートしていません。
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系