pipを使わずwindows10にtesseractとPyOCRをインストールする方法
pipを使わずにtesseractとPyOCRを入れる方法に関するメモ。
参考にされる方は自己責任でお願いします。
ちなみに以下のような環境を構築した。
Windows10 64bit
python 3.6
OpenCV 3.4.1
tesseract 3.02
PyOCR 0.5
(1)anacondaを入れる
これは他のサイトさんでたくさん説明されているので割愛。
(2)OpenCVを入れる
ここでopencv_python-3.4.1-cp36-cp36m-win amd64.wmlをダウンロード。
ダウンロードしたファイルがある場所に移動し、以下のコマンドをうつ。
pipを使っているが外部からインストールするわけではないのでセキュリティとかにはかからないはず。
以下のサイトを参考にした。
OpenCV3.4とPython3.6をAnacondaでWndows10へインストール
(3)tesseract-OCRのインストール
ここからtesseract-ocr-setup-3.02.02.exeをダウンロードし、インストールする。
インストール先はメモしておく。自分の場合はall userじゃない方なので、
C:Users/ユーザー名/AppData/Local
に保存された。
以下のサイトを参考にした。
tesseract-ocr でOCR - はしくれエンジニアもどきのメモ
(4)tesseract-OCRの設定
(4−1)tesseract-OCRにpathが通っていないことの確認
インストールしたのはいいものの、なぜかpathが通っていない。実際、tesseractのヴァージョンを確かめる以下のコマンド
tesseract -v
を実行しても、”〜は内部コマンドまたは外部コマンド〜”とか出るはず。
(4−2)tesseract-OCRにpathを通す
setコマンドで一時的にTesseract-OCRにpathを通す。自分の場合は以下のコマンドを用いた。
set path=%path%;C:\Users\ユーザー名\AppData\Local\Tesseract-OCR
一時的にpathを通すだけなので再起動の必要はないが、コマンドプロンプトを終了したら消えてしまうので注意。
これでtesseract -v を打っても大丈夫なはず。
(4−3)tesseract-OCRに言語データへのpathを通す
ただし上のpathだけでは、言語データ(〜¥Local¥Tesseract-OCR¥tessdataにあるeng.traineddataなどのこと)へアクセスできない。
これは言語データへアクセスするためのpathである"TESSDATA_PREFIX"が設定されていないためである。そこで、以下のコマンドを実行する。
set TESSDATA_PREFIX=C:\Users\ユーザー名\AppData\Local\Tesseract-OCR
ここで注意したいのは、言語データは〜¥Local¥Tesseract-OCR¥tessdataにあるが、その一つ前のフォルダーである〜¥Local¥Tesseract-OCRにpathを通す必要がある。
以下のサイトを参考にした。
tesseract3.02.02をソースからインストール - DRYな備忘録
(5)PyOCRのインストール
ここからwin-64/pyocr-0.5-py36h6a457c8_0.tar.bz2をダウンロード。
ダウンロードしたファイルがある場所に移動して、以下のコマンドをうつ。
conda install pyocr-0.5-py36h6a457c8_0.tar.bz2
(6)PyOCRのインストール確認
(6−1)PyOCRのインストール確認1
pythonを起動して、以下のコマンドをうつ。
from PIL import Image
import sys
import pyocr
import pyocr.builders
これで何もでなければ、PyOCRのインストールはうまくいっているはず。
(6−2)PyOCRのインストール確認2
上のコマンドに続けて以下のコマンドを入力する。
ここでpyocr.get_available_tools()は~/Local/Tesseract-OCR/tesseract.exeを呼び出すモジュールである。
もし"NO OCR tool found"とでたら、(4−2)で行ったpathの設定がうまくいっていない。実際自分は、
set path=%path%;C:\Users\ユーザー名\AppData\Local\Tesseract-OCR
を以下のようにしていて詰まっていた。
set path=%path%;"C:\Users\ユーザー名\AppData\Local\Tesseract-OCR"
(6−3)PyOCRのインストール確認3
上のコマンドに続けて以下のコマンドを入力する。
langs = tool.get_available_languages()
print("Available languages: %s" % ", ".join(langs))
これで何もでなかったらちゃんとインストールできている。
もしraise Tesseract Error(ret, "unable to get languages")とかがでたら、(4−3)の"TESSDATA_PREFIX"がちゃんと設定されていないためである。
あとは他のサイトさんの説明されている通りにやったらうまくいった。
以下のサイトを参考にした。
tesseract-ocr でOCR - はしくれエンジニアもどきのメモ
関連記事