<OCR, tesseract, python> 光学的文字認識をやってみた。
諸事情により、画像image
から、テキストを抽出をやってみた。
光学的文字認識Optical Character Recognition
というらしい。
自分の土俵でできるか、、だったが、幸いにmsys2
版があった。ラッキー。
で、必要なソフトのインストールからスタート。
このWiki
に従う。
Home · tesseract-ocr/tesseract Wiki · GitHub
>pacman -S mingw-w64-{i686,x86_64}-tesseract-ocr >pacman -S mingw-w64-{i686,x86_64}-tesseract-data-eng
mingw64を使ってこなかったが、ここで、大量にインストールが発生。
まあ、しょうがないので、進める。Go。
次。python
のパッケージのインストール。
>conda install pillow >pip install pyocr
で、環境変数設定。
export PATH=$PATH:/mingw64/bin export TESSDATA_PREFIX=/mingw64/share/tessdata
以上でインストール完了。
では、始めます。
In [7]: import pyocr In [8]: tool = pyocr.get_available_tools()[0] In [9]: tool Out[9]: <module 'pyocr.tesseract' from 'C:\\Anaconda3\\Lib\\site-packages\\pyocr\\tesseract.py'> In [10]: from PIL import Image In [14]: txt = tool.image_to_string( ...: Image.open('capture.PNG'), ...: lang='eng', ...: builder=pyocr.builders.TextBuilder(tesseract_layout=6) ...: )
できました。
できたtxt
を覗いてみましたが、、、 なんか、行けてない感じ。
単純な英語テキストなのに、完璧には変換できてない。ちと、がっかり感。
少しくぐると、
Google Cloud Vision API
というのがあって、こっちはすごいらしい。
次回試してみるかな。。。