2016-09-13 1 views
1

私はテキスト文書をスキャンするために、C#で自分自身のモノクロ/白黒フィルタを実装しようとしています。私のアプローチは、キャ​​プチャされた画像にしきい値フィルタを適用することです。しかし、画像の輝度が変化すると、処理された画像にシャドーイング効果が生じるという問題が頻繁に発生します。下のリンクを参照してください(それはかなりぼやけですが、十分であるはずです)。左端の画像が元の画像です。しきい値フィルタを適用すると、中央の画像と同じ結果になります。画像の明るさが変化するため、テキストの一部が読めなくなるため、一部の部分が実際に黒くなったり、本当に白くなったりします。ただし、右のフィルタを使用すると、処理された画像を右に表示して、すべてが透明に見えるようにすることができます。モバイルPDFスキャナは、キャプチャされたイメージをモノクロ/白黒イメージに変換するために、どのタイプのイメージフィルタリング/処理を使用しますか?

https://www.google.dk/search?q=monochrome+image+processing&espv=2&biw=1706&bih=859&source=lnms&tbm=isch&sa=X&ved=0ahUKEwir8vXlhIzPAhUFiywKHeSBC1wQ_AUIBigB#imgrc=4UTzoIpyqTkwrM%3A

私はプロセスが右端にある画像を得ることが何であるかを知っていただきたいと思います。別の例は、下の画像で見ることができます。これは、使用中のサンプルのモバイルPDFスキャナを示しています。画像をスキャンすると、テキストが簡単に読み取られ、画像に「シャドーイング」が発生しない非常に美しい白黒画像が得られます。誰がこのプロセスが何であるか、それが何であるかを知っていますか?これは、モバイルPDFスキャンアプリケーションで頻繁に使用されます。前もって感謝します。

EDIT:フィルタが '適応閾値 ''' と呼ばれています。 BradleyLocalThresholdingクラスを使用してフィルタを実装するか、自分で書き込むことができます(これは私が行ったものです)。下のYves Daoustのコメントに対する私の回答を参照してください。

+0

"中間にイメージ"はありません。 –

+0

Googleの画像リンクは、正しいフィルタが撮影された画像に明るさ勾配の影響を取り除く方法を示した画像につながるはずでした。しかし、このリンクは消えてしまった。 –

答えて

0

2つの成分が必要です。

「バックグラウンド再構成」、すなわち、形態学的開口によって「文字の下」の白いシートの強度を取り出すことの1つがある。

もう1つは、「シェーディング補正」、すなわち、例えば減算によって、再構成された背景と比較することによって背景照明のムラを補償することである。

これは画像を「平坦化」するので、グローバルな閾値処理に完全に従います。

+0

ありがとうございます。私が探していたフィルタは、「Adaptive Thresholding」と呼ばれています。しかし、私はまた、フィルタリングされたピクセルをすべて拡大してより明確なテキストを得ることができる形態学的なオープニングアルゴリズムを書いた。以下のリンクは、フィルタの実装方法を示しています。 リンク1: http://homepages.inf.ed.ac.uk/rbf/HIPR2/adpthrsh.htm リンク2: http://www.aforgenet.com/framework/docs/html/0ad5b988- 5613-d62a-22a9-cf41e39c139f.htm –

0

簡単な方法は、画像をグレースケールに変換し、Floyd-Steinbergディザリングなどの誤差拡散アルゴリズムを使用してB/Wに変換することです。

関連する問題