適応しきい値設定については、以前のいくつかの質問で説明されています。
Matlabを使用した肝臓セグメンテーションの適応しきい値処理
この例のドキュメント画像のしきい値処理に最適なアルゴリズムは何ですか?
もちろん、適応しきい値処理には多くのアルゴリズムがあります。あなたが最も効果的で便利だと思うものを知りたいです。
最も使用した適応アルゴリズムとアプリケーション。どうやってこのアルゴリズムを選ぶようになったのですか?
適応しきい値設定については、以前のいくつかの質問で説明されています。
Matlabを使用した肝臓セグメンテーションの適応しきい値処理
この例のドキュメント画像のしきい値処理に最適なアルゴリズムは何ですか?
もちろん、適応しきい値処理には多くのアルゴリズムがあります。あなたが最も効果的で便利だと思うものを知りたいです。
最も使用した適応アルゴリズムとアプリケーション。どうやってこのアルゴリズムを選ぶようになったのですか?
回答:
私は私の完全な答えになるとは思いませんが、私が知っていることを提供します、これはコミュニティ編集サイトですので、誰かがすぐに無料の答えをすることを望みます:)
適応しきい値処理方法は、イメージ全体で同じしきい値を使用しない方法です。
ただし、一部のより単純な使用法では、最も単純な反復法よりも賢い方法でしきい値を選択するだけで十分な場合があります。Otsuの方法は、イメージに前景と背景の 2つのクラスのピクセルが含まれていると想定し、バイモーダルヒストグラムを使用する一般的なしきい値設定方法です。次に、それらの結合スプレッド(クラス内分散)を最小化しようとします。
真に適応可能なしきい値設定方法と見なすことができる最も単純なアルゴリズムは、画像をセルのグリッドに分割し、それを個別の画像として扱う各セルに単純なしきい値設定方法(反復または大津の方法など)を適用するものですバイモーダルヒストグラム)。サブイメージのしきい値を適切に設定できない場合、隣接セルの1つからのしきい値を使用できます。
ローカルの閾値を見つける別のアプローチは、各ピクセルのローカルの近傍の強度値を統計的に調べることです。しきい値はピクセルごとに異なり、その近傍から計算されます(中央値、平均値、およびその他の選択が可能です)。この種類のメソッドの実装は、関数のOpenCVライブラリに含まれていcv::adaptiveThresholding
ます。
Bradley Local Thresholdingと呼ばれる別の同様の方法を見つけました。また、各ピクセルの近傍を検査し、ピクセルの輝度が周囲のピクセルの平均輝度よりもtパーセント低い場合、輝度を黒に設定します。対応する論文はこちらにあります。
このstackoverflowの答えは、Niblackと呼ばれるローカル(適応)しきい値処理方法に言及していますが、それを聞いたことがありません。
最後に、変分ミニマックス最適化によるイメージのしきい値処理と呼ばれる、以前の小規模プロジェクトの1つで使用した方法があります。これは、2つのコンポーネントの非線形の組み合わせであるエネルギー関数の最適化に基づく反復的な方法です。1つのコンポーネントの目的は、画像内の最も強い強度変化の位置に基づいてしきい値を計算することです。もう1つのコンポーネントは、(オブジェクト)境界領域のしきい値を平滑化することを目的としています。アナログ機器の画像(ガラス/プラスチックからのさまざまなシェーディングおよび反射)でかなり良好であることが証明されていますが、反復回数を慎重に選択する必要があります。
後期編集:この回答へのコメントに触発されました。不均一な照明条件を回避する方法はもう1つあります。ここでは、暗い背景上の明るいオブジェクトについて説明しますが、状況が逆の場合も同じ推論を適用できます。元の画像の代わりに一定のしきい値を 使用して、画像の白いシルクハット変換のしきい値を設定します。画像の白いシルクハットは、画像と開き違いに他なりません。詳細な説明として、P。Soille:Morphological Image Analysisからの引用を提供させてください。γ (F )
大きな正方形のSEで元の画像を開くと、関連するすべての画像構造が削除されますが、照明機能は保持されます。元の画像の白いシルクハットまたは元の画像からの照明関数の減算は、均一な照明の画像を出力します。
ここで、いくつかのしきい値設定方法の比較を含む論文を見つけることができます。
二値化方法を評価する別の論文を次に示します。
前回のプロジェクトで使用した適応2値化法では、Sauvola法で使用されるしきい値関数を高速で計算するために積分画像が使用されます。Sauvolaメソッドの説明は次のとおりです。
(論文によると)20倍のスピードアップを提供するインテグラルイメージを使用する変更については、この記事で説明します。
これらは、(画像内のテキストを見つけるために)私のプロジェクトの二値化方法を選択するときに使用した論文です。私は専門家ではないので、どの方法がどのアプリケーションに最適であるかは言えません。
この質問はさまざまな観点から非常によく回答されており、私の経験を要約し、適応二値化に関連するいくつかの問題を強調したいだけです。
適応二値化は、次の3つのカテゴリに分類できます。
1)大域的方法:この方法では、最初に画像の背景が推定されます。その後、背景情報を使用して正規化された画像が生成されます。次に、グローバル2値化方法が採用されます。
2)パッチベースの方法:名前が示すように、パッチベースの方法はパッチごとに二値化を実行します。各パッチで、2値化はグローバル2値化法で推定されます。その後、いくつかの後処理を実行して、隣接するパッチの2値化しきい値がスムーズに遷移することを訴えます。
3)移動ウィンドウ法:この方法では、ピクセルごとに二値化が行われます。ウィンドウ内のピクセル統計を計算するために移動ウィンドウが設定され、統計に基づいてウィンドウ内の中央ピクセルのしきい値が計算されます。
アプリケーションに依存するため、どのメソッドが最適かを判断するのは非常に困難です。適応二値化を考えるとき、次の質問を考慮することを忘れないでください:
1)パラメータ設定:メソッドには自動パラメータ設定手順がありますか?ほとんどの場合に機能するように、どのようにパラメーターを非常にうまく設定できますか?
2)優れた適応二値化を正当化する基準は何ですか?多くの場合、異なる二値化方法の違いは本当に小さいです。ただし、小さな違いは最終的に大きな違いにつながる可能性があります。
3)ある特定の状況で二値化は機能しますか?たとえば、適応二値化のターゲットが黒い背景からオブジェクトを抽出することであると仮定すると、二値化はこの状況に自動的に適応できますか?または副ビザ。
4)適応法は、ローカル構成のみに焦点を合わせる傾向があるため、バイナリ結果は最適化されません。たとえば、有名なSauvolaメソッドは、最適化するオブジェクトが移動ウィンドウよりもはるかに大きい場合、中空のオブジェクトを生成します。適応方法でこの制限を緩和できますか?
5)前処理。優れた二値化には、画像処理のインサイダーも含める必要があります。画像がぼやけすぎている場合、アルゴリズムのパラメーターを自動的に調整したり、前処理を呼び出して不適切な二値化を回避したりできます。