Jupyterlab上でPythonを使ってOCRをやろうとしたら沼った話.海外ニキのコメントを検索しながら目的達成.
# ocr_card_filter.py
import os
from PIL import Image
import pyocr
import pyocr.builders
# Installed TesseractのPATH
pyocr.tesseract.TESSERACT_CMD = full path
~~~~
#省略
#OCR
builder = pyocr.builders.TextBuilder()
result = tool.image_to_string(img, lang="jpn", builder=builder)
print(result)
with open("ocr.txt",mode="w") as f:
f.write(result)
Installed TesseractのPATHが分からず,沼った.
brew list tesseract
これでtesseractが格納されている場所を表示.Jupyter labで上のコードを実行するきは,必ずtesseractのfull pathを書くこと.でないと,tesseractが見つからないって怒られる.
OCRの精度は,調べたところ,色を白黒にしたり,一部分だけ切り取ってやると精度が上がるらしい.
個人的に便利な使い方は,大学院の授業のTAとして出席をカウントする時があったけど,zoomの参加者一覧をスクショして,OCRで出席者を文字起こししたこと.まあ,精度を上げる方法には機械学習とか色々あるらしい.それもいずれ勉強できたらなと思う.
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント