見出し画像

PythonでOCR! - Tesseract OCR

簡単なOCRの実装です。Colabでやります。以下参考サイトです。

必要なものをインストールします。

!apt install tesseract-ocr
!apt install libtesseract-dev
!pip install pyocr
!sudo apt-get install tesseract-ocr-jpn

OCRエンジンのTesseract-OCRを使います。ちなみにバージョンは

tesseract 4.0.0-beta.1
leptonica-1.75.3
 libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.5.2) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.3.0
Found AVX2
Found AVX
Found SSE
Tesseract OCR」はGoogle、HPが開発したオープンソースOCRエンジン。

検証もされています。

ライブラリlibtesseract-devとPythonのラッパーpyocrを使います。pyocrについては以下サイト。

OCRが使用可能かをチェックして、そのツール名を表示します。

tools = pyocr.get_available_tools()
if len(tools) == 0:
   print("OCR tool is not found")
   sys.exit(1) #OCRツール名を表示 
tool = tools[0]
print("OCR tool is '%s'" % (tool.get_name()))
ライブラリのインストール、モジュールのインポートが成功していれば、
OCR tool is 'Tesseract (sh)'」と表示されます。

使える言語を確認します。

langs = tool.get_available_languages()
print("Available languages: %s" % ", ".join(langs))
lang = langs[0]
print("Will use lang '%s'" % (lang))

コンソール出力は

Available languages: osd, jpn, eng
Will use lang 'osd'

"jpn"と出ているので日本語が使えるようになっています。

画像はドラック&ドロップでColabに保存できます(Colabのファイルアップロード機能でもコードの実行でもできます)。確認してみると、

 %matplotlib inline
import cv2
import matplotlib.pyplot as plt
from pylab import rcParams
img = cv2.imread("ocrTest2.png")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.figure(figsize=(15,15))
plt.axis("off")
plt.imshow(img)

画像1

これをOCRします。

txt = tool.image_to_string(
   Image.open("ocrTest2.png"),lang="jpn",builder=pyocr.builders.TextBuilder(tesseract_layout=6))
print( txt )
驚くほど薄くて軽いMacBook Airが、かつてないほどパワフルに進化しました。
あざやかなRetinaディスプレイ。 新しいMagic Keyboard。 Touch ID。
最大2倍のパフォーマンスを発揮するプロセッサ1。 より高速なグラフィックス。
2倍のストレージスペース。これまでのMacの中で最も環境に優しく、その洗練
されたウェッジ型のボディは100パーセント再生アルミニウムで作られて います2。
みんなに最も愛されているMacは、一日中使えるバッテリーも搭載。
好きな場所で好きなことを好きなだけできる完璧なノートブックです。

こんな感じで読み取れます。読み取り精度に問題なさそうです。

OCRについてのコードは検索すればたくさん出てきます。Colabでするとすごく簡単に試すことができますね。

この記事が気に入ったらサポートをしてみませんか?