tesseractとocrfeederを使用して画像内のテキストを正しく認識する方法を学びます。

あなたの多くはすでに光学式文字認識(OCR)プログラムを知っている必要があります。そうであれば、eñe、tíldeなどのスペイン語の典型的な文字を認識しないものに出くわしました(ñ、ó、ü)。

今ありがとう 遺言 とパッケージに tesseract-ocr-eng これらの文字を認識できるようになり、色やピクセルレベルが正しくない特定の画像を処理する方法を確認します。

まず、次のプログラムをインストールする必要があります。

テッセラクト-ocr
tesseract-ocr-eng
オクリフィーダー

Debianでは、推奨ソフトウェアをインストールせずにインストールすることをお勧めします。

sudo apt-get --no-install-recommends install ocrfeeder tesseract-ocr-spa tesseract-ocr

文字が判読できる画像(スキャンした文書)がある場合、約90%のケースでテキストを認識でき、表は認識されません。画像に2列ある場合は、自動的に認識されます。テキストの順序を維持するために、最初に列、次に他の列。

テキストを認識する方法は2つあります。XNUMXつはターミナルのコマンドラインまたはocrfeederを使用する方法で、後者はより多くの処理時間を必要とします。

コマンドライン方式:

tesseract "/entrada/fichero.jpg" "/salida/fichero.txt" -l spa -psm 3

複数の画像を変換するには、次のコマンドを使用します。

cd /carpeta/imagenes
find ./ -name "*.jpg" | sort | while read file; do tesseract "$file" "`basename "$file" | sed 's/\.[[:alnum:]]*$//'`.txt" -l spa -psm 3; done

結果のテキストファイルを上記のフォルダーに結合するには、次のコマンドを使用して段落を正しく結合します。

cd /carpeta/imagenes
find ./ -name "*.txt" | sort | while read file; do cat "$file" | sed 's|^$|##|g' | tr '\n' " " | tr '##' "\n" >> Texto-unido.txt; done

ocrfeederを使用した方法:
1-ocrfeederプログラムを開きます。
2- [ツール]-[OCRエンジン]をクリックしてエンジンを編集し、esseractエンジンを選択して[編集]をクリックします。エンジン引数が表示されている場合は、次のスクリプトを変更します。

$IMAGE $FILE -l spa -psm 3 > /dev/null 2> /dev/null; cat $FILE.txt; rm $FILE $FILE.txt

3-画像または複数の画像があるフォルダをインポートします。
4- [ドキュメントの識別]をクリックします。ドキュメントが識別されると、画像またはテキストのどの部分を手動で選択できます。
5-ドキュメントをエクスポートする前に、[編集]-[ページの編集]をクリックして、目的のページを選択します。最も一般的なのは文字(文字)です。
6-ドキュメントをエクスポートするには、[ファイル]-[エクスポート]をクリックし、目的の出力形式を選択します。ドキュメントに画像がある場合は、odtまたはhtml形式を使用することをお勧めします。テキストのみの場合は、プレーンテキストを使用するのが最適です( txt)フォーマット。

品質が不十分なコピーが多数あるため、これで終わりではありません。これらを修復するには、gimpとエンボスフィルターを使用します(このプロセスは遅くなる可能性があります)。
1-gimpで画像を開きます。
2- [フィルター]-[歪み]-[エンボス]をクリックし、バンプマップボックスを選択し、方位角レベルを約162,25に、標高を88,73に、深度を6または3に調整します。画像がjpgの場合、100%の品質で保存します。エクスポート中-name.jpg。

オプションで、[色]-[レベル]-[自動]をクリックして、白のレベルを調整できます。