ml_begin’s blog

Python初心者が、機械学習、画像認識、Web解析について取り組んでいきます。

Python初心者がOCRツール作成【画像の読み込み】【1/?】

f:id:ml_begin:20180610224429j:plain
以前、OCR
ml-begin.hatenablog.com
そしてGUI
ml-begin.hatenablog.com
プログラムの作成を行いました。

これらの技術の組み合わせにより、

英語で書かれた文字の存在する画像を読み込み、文字認識を行うGUI

を作成しようと思います。
画像の読み込みは、上部に示した2記事には示されておりませんので今回示します。

画像の読み込み

画像を読みこむにはダイアログボックスというものを出現させなければなりません。
ダイアログボックスはこちらの記事が参考になるかと思います。[1]

ダイアログボックスを利用するには、wxというモジュールが必要になります。
そして、ダイアログボックスはAnacondaのSpyder上ではうまく起動できません。

したがって、ターミナル上で

$ python 実行したいファイル名

と入力すれば実行できます。

今回作ったプログラムはこちら
ファイル名:pic_readFromDialogBox.py

#########新しいコード#########
import wx

app = wx.App()

# 選択可能なファイルを制限する
filter = "png file(*.png)|*.png"
dialog = wx.FileDialog(None, u'ファイルを選択してください', '', '', filter)

# ファイル選択ダイアログを表示
dialog.ShowModal()
#########新しいコード###ここまで###

import pytesseract
from PIL import Image

# 選択したファイルパスを取得する
url_img = dialog.GetPath()
img = Image.open(url_img)
text = pytesseract.image_to_string(img, lang="eng")
print(text)

・ターミナルに入力する画面
f:id:ml_begin:20180610223937p:plain
・実行結果
 ・ダイアログボックス
f:id:ml_begin:20180610224015p:plain

 ・OCRの結果
f:id:ml_begin:20180610224058p:plain
結果は以前紹介したものと同様ですが、
ダイアログボックスという点が異なります。
最終的には、ボタンを押す→ダイアログボックス開く→結果が画面に出力

とします。何回で終わるか分からないので、タイトルには【1/?】と書いておきます。
完了したら?に具体的な数字を入れていきます。

参考
[1]
python-minutes.blogspot.com

[2]
qiita.com