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)