18

私が実行している問題は、画像からテキストを抽出することです。このために、Tesseract v3.02 を使用しました。テキストを抽出する必要があるサンプル画像は、検針に関連しています。それらのいくつかは無地のシート背景で、いくつかは LED ディスプレイを備えています。ソリッド シートの背景用にデータセットをトレーニングしましたが、結果はある程度効果的です。

私が今抱えている主な問題は、Tesseract によって認識されない LED/LCD 背景のテキスト画像であり、これによりトレーニング セットが生成されません。

7 セグメント ディスプレイ (LCD/LED バックグラウンド) で Tesseract を使用する方法について正しい方向に導くことができますか、または Tesseract の代わりに使用できる他の代替手段があります。

LED 背景画像 1 LED 背景画像 2 ベタ シート背景のメーター 1 ここに画像の説明を入力 ここに画像の説明を入力

4

3 に答える 3

6

https://github.com/upupnaway/digital-display-character-rec/blob/master/digital_display_ocr.py

これは、openCV と tesseract、および「letsgodigital」トレーニング済みデータを使用して行いました

-ステップには、エッジ検出と、最大の輪郭を使用したディスプレイの抽出が含まれます。次に、otsu または 2 値化を使用して画像のしきい値を設定し、それを pytesseracts の image_to_string 関数に渡します。

于 2016-08-14T03:49:21.993 に答える
5

これは、画像の前処理タスクのようです。Tesseract は、すべての画像がビットマップ形式の黒地に白のテキストであることを本当に好みます。そうでないものを指定すると、その形式に変換するために最善を尽くします。これを行う方法はあまり賢くありません。いくつかの画像操作ツール (たまたま imagemagick が好きです) を使用して、tesseract の満足度を高めるために画像を作成する必要があります。簡単な最初のパスは、小さい半径のガウス ブラーを実行し、しきい値をかなり低い値にして (黒だけを維持しようとしているので、15% が正しいように見えます)、画像を反転することです。

難しいのは、どの前処理タスクを実行するかを知ることです。扱っているディスプレイの種類を示すメタデータがある場合は、すばらしいことです。そうでない場合は、画像の色のヒストグラムを見て、少なくともテキストが黒地に白なのか黒地に黒なのかを判断できると思います。これらが唯一のシナリオであり、黒地に白が常に無地の背景であり、色が黒地に常に 7 セグメント ディスプレイである場合は、完了です。そうでない場合は、賢くなる必要があります。頑張ってください。思いついたことをお知らせください。

于 2013-07-17T16:29:48.330 に答える