Tesseract OCR はオープンソースの OCR エンジンである。バージョン4以降は LSTM をサポートしている。性能は最新の OCR にはかなわないが、気軽に使えるオープンソースのエンジンとして今も一定の需要があるようだ。
Homebrew を使っている Mac なら brew install tesseract
でインストールできる。
tessdata_best のリポジトリから英語用 eng.traineddata,日本語用の jpn.traineddata,日本語縦書き用の jpn_vert.traineddata をダウンロードし,Apple Silicon 版 Homebrew の Tesseract なら /opt/homebrew/share/tessdata に入れる(もともとある eng.traineddata は best 版ではないらしい)。
例えば hoge.png に入った英語の画像を認識して hoge.txt に入れたい場合:
tesseract hoge.png hoge
認識対象文字が数字に限られている場合:
tesseract hoge.png hoge digits
この digits
は /opt/homebrew/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 jpn_vert -c preserve_interword_spaces=1 # 日本語縦書き tesseract hoge.png hoge -l eng+jpn # 英語と日本語 tesseract hoge.png hoge -l snum # シリアルナンバー
などとすればよい。対応する *.traineddata が /opt/homebrew/share/tessdata に入っている必要がある。
参考:Tesseract OCR 近況(2018/06),Tesseract 近況 その2 (2018/10 Early)