2009-12-09 16 views
9

グレースケールイメージを白黒に変換するための最良のしきい値を自動的に把握する最良の方法は何ですか?私はかなり良いしきい値を手で把握することができますが、私はしきい値の選択を自動化したいと思います。グレースケールを白黒に変換するための最適なしきい値

編集:私はこの問題について少しお読みになり、画像のヒストグラムを見てみると助けになります。画像がバイモーダルヒストグラムを有する場合、モード間の閾値を選択することは合理的に思われる。しかし、マルチモーダルまたはフラットなヒストグラムでは、より複雑に見えます。だから私はもっと読むべきことがあると思う。返事をいただいた皆様に感謝します!

答えて

5

通常、元の画像が非常に明るい場合を除き、0.5は多くの情報を失うことになります。実際、絶対的な閾値は、ある種の画像や他のものを混乱させます。

より良い方法は、明るさのヒストグラムを作成し、モードの近くのしきい値を選択することです。これは、絶対的なしきい値よりもほとんどの画像でうまくいくはずです。

+0

申し訳ありませんが、あなたは言うことができます: "モードの近くのしきい値を選択"? – maximus

+0

モードは画像内で最も頻繁に発生する明るさです。 –

+0

今後の参考として、modeは平均値です。 – cxdf

1

"良い"しきい値の基準は何ですか?

1

スレッショルドは、各画像の平均濃度(または色の分布)に依存すると私は考えるでしょう。任意の値を指定すると、画像がきれいに洗い流された場合に多くのデータを失うことになります。

また、領域を白黒でまばらに塗りつぶすことで、一部のグレースケールをエミュレートできます。 50%グレーは他のチェッカーボード、残りの白い四角の半分は75%、白黒反転は25%です。

私はこの質問に対して固定された答えはありません画像を個別に表示します。

1

スレッシュホールドベースのハーフトーン処理では、通常、多くの情報が失われます。目的に応じて、ditheringと考えてください。

私はStuckiフィルタの外観が好きです。これは鮮明でディテールを維持するためです。アルゴリズムを実装するHere's a C# project。あなたが興味を持っていれば、ソースをダウンロードすることができます。

3

私は適応型閾値アルゴリズムを調べます。 1つは、実装することが非常に難しくないですOtsus methodです。

フォアグラウンドピクセルと背景ピクセルがあり、それらの最適な分離を見つけることを前提としています。

3

あなたは次の操作を行う場合K-Means Clustering Methodは素晴らしい作品:

  1. サブブロックに画像を分割。
  2. 各サブブロックにK-Meansクラスタリングを適用します。結果はバイナリイメージです(あなたが望むものが '1'であり、残りが '0'であると仮定しましょう)。
  3. ステップ2をもう一度行いますが、今回は重なったブロックで行います。
  4. サブ画像に「AND」演算子を適用します(重複するサブブロックの場合)。

Matlabでは本当に簡単です。
必要に応じて、コードを共有できます。

関連する問題