2016-10-11 8 views
4

enter image description here画像の2値化が貧弱な結果を示しているのはなぜですか?

this journal articleを参照してください。

セクション4.1(前処理)の最後の段落は、enter image description here

は、大津閾値処理は、以下の結果が得られると一緒に[threshold = (mean + std dev)]

enter image description here

を使用して、と言っています。

そして、それらなしで私は次のような結果を得るため、

enter image description here

。したがって

I持っている3つの質問、

(1)バイナリしきい値設定の私の実装の主な問題は何ですか?

(2)大津閾値が本当に良い結果を出すのであれば、記事の著者は[]を使用するように提案したのはなぜですか?

(3)doubleの値を大津の閾値に適用するにはどうすればよいですか?

enter image description here


ソースコード

enter image description here

Here is the GitHub repository.

以下の通りであるソースコードの最も関連する部分、

private void thresholdButton_Click(object sender, EventArgs e) 
    { 
     Bitmap color = (Bitmap)this.inputImagePictureBox.Image; 

     Bitmap temp = Grayscale.ToGrayscale((Bitmap)color.Clone()); 

     ImageStatistics imgStat = new ImageStatistics(temp); 

     Histogram histogram = imgStat.Gray; 

     double meanPlusStdDev = histogram.Mean + histogram.StdDev; 

     OtsuThreshold otsu = new OtsuThreshold(); 

     int thres = otsu.getOtsuThreshold(temp);////// 

     //otsu.Apply(temp, (int)meanPlusStdDev); 

     otsu.Apply(temp, thres); 

     thresholdedImagePictureBox.Image = temp; 
    } 
+0

条件が同じですか、つまりしきい値処理の前に準同型フィルタリングを適用しましたか?テスト画像を教えてください。 – Tapio

+0

@Tapio、ここに私のHomoFilterです。http://stackoverflow.com/questions/39427106/homomorphic-filter-output – anonymous

+0

@Tapio、テスト画像はVS2013ソリューションに組み込まれています。 – anonymous

答えて

2

私は(2)に答えます。誰もが平均+標準偏差を全世界的に使用するのを見たことはありませんが、ローカルの適応閾値処理技術を適用する場合は非常に一般的です。そのため、画像全体に対して単一のしきい値を計算するのではなく、近傍に基づいてピクセルごとに1つを計算します。この記事で説明されているアプリケーションでは、より意味をなさないでしょう。局所平均(x、y)とローカルSTDEV(X、Y)と画素(x、y)についてのNiblack適応閾値は、次のとおり

平均値(X、Y)+ k個*のSTDEV(x、y)は

ここで、kは調整可能なパラメータです。これは、ドキュメントの二進化でよく使用されます。もう一つの一般的なものは、

のt *の平均値(X、Y)+ K * STDEV(x、y)はローカル平均値とローカルSTDEVしきい値の両方を調整することができ

です。 stdev用語のポイントは、エッジに重みを与えることです。引っ掻き傷は常に高い局所標準偏差の領域であるため、それに結び付けられた用語を有することは、単純平均平均閾値よりも効果的であるはずである。

Sauvolaアルゴリズムも興味深いと思うかもしれませんが、それはNiblackアルゴリズムのさらなる修正です。これらを自分で実装したい場合は、積分画像の概念を確認してください。

2

1)「問題」はありません。さまざまなしきい値でしきい値を設定し、異なる結果を得ます。

2)グローバルしきい値を見つける普遍的な方法はなく、グローバルしきい値は非常に貧弱な解決策です。平均/標準偏差アプローチの1つのわずかな利点は、実装者に制御の感覚を与える調整可能なパラメータ(stdevの前の係数)を残すことです。

3)私はこの質問を理解できません。ピクセル値は整数なので、しきい値は整数です。

+0

あなたはタピオの答えについてどう思いますか? – anonymous

+0

@anonymous:特別なものはありません。 –

関連する問題