TesseractでOCR

Tesseract OCR はオープンソースの OCR エンジンである。バージョン4は LSTM をサポートしている。

Homebrew を使っている Mac なので brew install tesseract でインストールできる。

tessdata_best のリポジトリから英語用 eng.traineddata,日本語用の jpn.traineddata,日本語縦書き用の jpn_vert.traineddata をダウンロードし,Homebrew の Tesseract なら /usr/local/Cellar/tesseract/X.X.X/share/tessdata/ に入れる(もともとある eng.traineddata は best 版ではないらしい)。

例えば hoge.png に入った英語の画像を認識して hoge.txt に入れたい場合:

tesseract hoge.png hoge

認識対象文字が数字に限られている場合:

tesseract hoge.png hoge digits

この digits は /usr/local/Cellar/tesseract/X.X.X/share/tessdata/configs/digits というファイルを指す。この中には tessedit_char_whitelist 0123456789-. と書き込まれている。こういう config ファイルは自分で追加することができる。

言語を指定するには

tesseract hoge.png hoge -l eng   # 英語
tesseract hoge.png hoge -l jpn -c preserve_interword_spaces=1  # 日本語
tesseract hoge.png hoge -l eng+jpn  # 英語と日本語
tesseract hoge.png hoge -l snum  # シリアルナンバー

などとすればよい。対応する *.traineddata が /usr/local/Cellar/tesseract/X.X.X/share/tessdata に入っている必要がある。

参考:Tesseract OCR 近況(2018/06)Tesseract 近況 その2 (2018/10 Early)