pythonでOCRをするにはpyocrというモジュールを使用可能にする必要があります。
私はAnacondaというPythonパッケージを利用しています。
インストール方法は下記記事
www.python.jp
AnacondaをインストールするとAnaconda-Navigatorというものが出てきます
そこの左側にある「environments」をクリックすると
モジュールをインストールすることができます。
下画像は、すでにインストールされたモジュールが表示されています。
PythonでOCRをするのに便利なモジュールとして「pyocr」というものがあります。
しかし、anacondaには入っていません。
その場合の追加方法について書きます。
コマンドラインにて下記コマンドを入力
$source activate <anacondaで作成した環境名> $pip install pyocr
これで終わり。
※作成した環境名は下記コマンドでわかります。
$ conda info --envs
「*」マークがついているのが環境名です。
準備ができたので次回はOCRで文字認識やってみます。
2018.05.23
まだ準備完了しておりません!
tesseractをダウンロードし、pytesseractもダウンロード
したのですが、まだうまく動きません。
しばしお待ちを。。
2018.05.24
無事、OCRできるようになりました。
上記のコマンドを入力した後、
$brew install tesseract $pip install pytesseract
これでとりあえずOCRはできます。
これでエラーが出た場合は、tesseractがAnaconda-spyderが読み込むライブラリの場所と
別の場所にある可能性があるのでtesseractの場所を下記コマンドで探索
$which tesseract
ディレクトリを移動して、anacondaディレクトリ/bin 下に移動させます
$cp tesseract /anaconda3/bin/
これでできるはずです。
試しに、
この画像から文字を読み込んでみます。
import pytesseract from PIL import Image url_img = 'image.jpeg' img = Image.open(url_img) text = pytesseract.image_to_string(img, lang="eng") print(text)
結果
Manama: ~, g Rfibwsau
何かしら読み取ったようです。今回の結果が英語で出力されているのは、
ext = pytesseract.image_to_string(img, lang="eng")
lang="eng"
で指定しているからです。
ここを"jpn"に変えると、
lang="jpn"
こんなエラーが出てきます。(でてこなかったらこれより先は無視してください)
TesseractError: (1, 'Tesseract Open Source OCR Engine v3.04.01 with Leptonica Error opening data file /~~~/tesseract/3.04.01_2/share/tessdata/jpn.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory. Failed loading language \'jpn\' Tesseract couldn\'t load any languages! Could not initialize tesseract.')
このエラー文には
/~~~/tesseract/3.04.01_2/share/tessdata/の jpn.traineddataを参照していますが、ありません。
と書いてあるので、jpn.traineddataをここに置く必要があります。
現在の状況では、そこには
eng.traineddata
英語のデータしか入っていないことが分かります。
ですので、日本語のデータをダウンロードしてきます。
github.com
このダウンロードしたファイルをtessdataの下に移動させます。
eng.traineddata jpn.traineddata
これでlang="jpn"に変更し、実行します。
重すぎるので日本語については、次の機会に改善します。
なので今回はlang="eng"でお試し。
お試し画像は
実行します。
--結果-- Abcdefg hijklmn
参考サイト
https://qiita.com/yotayokuto/items/c55bfa2b892beddc488eqiita.com