転載-Phython画像処理の画像文字認識(OCR)

3237 ワード

クリックしてリンクsegmentFaultを開くjclian91_Python画像処理のピクチャ文字認識(OCR)
OCRとTesseractの紹介
  画像を文字に翻訳することを光学文字認識(Optical Character Recognition,OCR)と呼ぶのが一般的である.OCRを実装できる下位ライブラリは多くありません.現在、多くのライブラリは共通のいくつかの下位OCRライブラリを使用しているか、上でカスタマイズされています. TesseractはOCRライブラリであり、現在Googleがスポンサーを務めている(GoogleもOCRと機械学習技術で知られる会社である).Tesseractは現在公認されている最も優秀で、最も正確なオープンソースOCRシステムである.非常に高い精度に加えて、Tesseractも高い柔軟性を持っています.トレーニングによって任意のフォントを識別することができます(これらのフォントのスタイルが変わらない限り)、Unicode文字を識別することができます.
Tesseractのインストールと使用
TesseractのWindowsインストールパッケージのダウンロードアドレスは次のとおりです.http://digi.bib.uni-mannheim....、ダウンロードしてダブルクリックして直接インストールすればいいです.インストールが完了したら、Tesseractをシステム変数に追加する必要があります.CMDにtesseract-vを入力し、次のインタフェースが表示されると、Tesseractのインストールが完了し、システム変数に追加されることを示します. Linuxユーザーはapt-getでインストールできます.
$sudo apt-get tesseract-ocr

  はTesseractでフォーマット規範の文字を識別することができ、主に以下の特徴を持っている.
•標準フォント(手書き、草書、または非常に「派手な」フォントを含まない)を使用する•コピーされたり写真を撮られたりしても、フォントははっきりしていて、余分な痕跡や汚れはありません•きちんと並べられていて、歪んだ字はありません•画像の範囲を超えていませんし、欠陥もありません.または、画像のエッジにぴったりと貼り付けられた場合、いくつかのtesseractが画像中の文字を識別する例が示される.まずE://figures/other/poems.jpg,コマンドtesseractE://figures/other/poemsを入力.jpg E://figures/other/poems.txtはpoemsをjpgの識別文字はpoemsに書き込まれる.txtでは、以下の図:jpg、認識状況は以下の通りです.認識の状況はさっきの規範フォントほどよくありませんが、画像の大部分のアルファベットも認識できます.最後に、簡体字中国語を識別するには、簡体字中国語言語パッケージを事前にインストールする必要があります.ダウンロード先は次のとおりです.https://github.com/tesseract-...ああ、またchi_sim.traineddataはC:Program Files(x 86)Tesseract-OCRtessdataディレクトリの下に置かれています.画像timgでjpgの例:コマンドの入力:
tesseract E://figures/other/timg.jpg E://figures/other/timg.txt -l chi_sim

認識結果は以下の通りである:1文字しか認識していないので、認識率は悪くない.最後に、Tesseractはカラー画像の認識効果に対して白黒画像の効果はよくありません.
pytesseract
  pytesseractは、Pythonに関するTesseractのインタフェースで、pip install pytesseractを使用してインストールできます.インストールが完了すると、Pythonを使用してTesseractを呼び出すことができますが、pillowをインストールできるPythonの画像処理モジュールが必要です.  次のコードを入力すると、前述のTesseractコマンドと同様の効果が得られます.
import pytesseract
from PIL import Image

pytesseract.pytesseract.tesseract_cmd = 'C://Program Files (x86)/Tesseract-OCR/tesseract.exe'
text = pytesseract.image_to_string(Image.open('E://figures/other/poems.jpg'))

print(text)

実行結果は次のとおりです.
参考文献
Pythonネットワークデータ収集【美】Ryan Mitchell人民郵便出版社https://blog.csdn.net/dcrmg/a...
http://www.inimei.cn/archives...