【Python】3分でOCR環境を立ち上げ Google Colaboratory
2018-07-234 min read
目次
概要
3分くらいでOCRができる環境を立ち上ます。 Google Colaboratoryを使います。もちろんpython。
Google Colaboratory
Jupyter Notebook環境を無償で利用できる上、Google Driveとの連携が可能。 同様な機能を提供するサービスにAzure Notebooksがありますが、 apt・pipコマンドが叩ける点、GPUが用意されている点などから Google Colaboratoryを使っています。
pyocr
PyOcrを動かせる環境を作ります。 tesseractと関連パッケージ + 日本語の特徴量を導入します。 ノートブックでこのコマンドを叩きます。
!apt install tesseract-ocr libtesseract-dev tesseract-ocr-jpn
!pip install pyocr
これでだけで環境が完成
ファイルアップロード
ローカルの画像をノートブックにアップロードします。
from google.colab import files
uploaded = files.upload()
このコマンドを叩くとファイルアップロードのダイアログが出現します。 アップロードした画像は適当な名前をつけて保存します。
OCR実行
OCR自体は
import pyocr
import pyocr.builders
from PIL import Image
img = Image.open('string_sample.png')
txt = tool.image_to_string(
img,
lang="eng+jpn",
builder=pyocr.builders.TextBuilder(tesseract_layout=6)
)
これで実行可能です。 もう少し精度を上げるためにOpenCVで最適化していきます。
import sys
import pyocr
import pyocr.builders
import cv2
from PIL import Image
import matplotlib.pyplot as plt
tools = pyocr.get_available_tools()
im = cv2.imread('text.png')
im_gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
im_blur = cv2.GaussianBlur(im_gray, (5, 5), 0)
th1 = cv2.adaptiveThreshold(im_blur, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2)
txt = tool.image_to_string(
Image.fromarray(im_gray),
lang = 'eng+jpn'
)
print(txt)
参考
Recommends
New Posts
Hot posts!
Date
Tags
(110)
(54)
(54)
(47)
(45)
(36)
(30)
(29)
(24)
(24)
(22)
(21)
(21)
(20)
(19)
(17)
(16)
(16)
(15)
(14)
(12)
(12)
(12)
(12)
(12)
(12)
(11)
(10)
(10)
(10)
(10)
(10)
(9)
(9)
(8)
(8)
(8)
(8)
(7)
(7)
(6)
(6)
(6)
(6)
(6)
(5)
(5)
(5)
(5)
(4)
Author