Sikuli - OCR日本語対応

Sikuliで日本語のOCRを実行してみました。

環境

動作確認環境は次の通りです。

  • OS
    Windows 10 Home
  • Sikuliバージョン
    2.0.1
  • javaバージョン
    1.8.0_101(64bit)

前準備

OCRを日本語に対応させるためには、日本語OCR用のデータファイルをダウンロードする必要があります。

ダウンロードデータ

https://github.com/tesseract-ocr/tessdata/blob/master/jpn.traineddata

ダウンロードデータを格納するフォルダ

C:\Users(ユーザ名)\AppData\Roaming\Sikulix\SikulixTesseract\tessdata

※SikulixTesseractフォルダが見つからない場合は、一度SikuliでOCRに関する処理を実行してみると、自動で作成されるようです。

実装

以下のコードを実行すると、領域選択画面が現れるので、そこでOCRを実行したいエリアを選択するとOCR処理されたデータがout.txtに出力されます。

1
2
3
4
5
6
7
8
9
10
11
import sys
reload(sys)
sys.setdefaultencoding("SHIFT_JISX0213")

tr = TextOCR.start()
tr.setLanguage("jpn")

r = selectRegion()
#print(r.text())
with open('out.txt', 'w') as f:
f.write(r.text())

※標準出力だと文字化けするのでとりあえずファイル出力にして回避しました。