OCRエンジンTesseractをUbuntuインストールして文字画像を認識させてみた
オープンソースのOCRエンジンTesseractをUbubtu20.10にインストールしたのでインストールから文字画像読み取りまでの手順を書き留めておきます。
UbuntuへのTesseractインストール
インストールコマンドはこちら。
$ sudo add-apt-repository ppa:alex-p/tesseract-ocr $ sudo apt-get update $ sudo apt install tesseract-ocr $ sudo apt install libtesseract-dev
Tesseractがちゃんとインストールされているか確認。
$ tesseract -v tesseract 4.1.1-rc2-25-g9707 leptonica-1.79.0 libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 2.0.3) : libpng 1.6.37 : libtiff 4.1.0 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.3.1 Found AVX2 Found AVX Found FMA Found SSE Found libarchive 3.4.3 zlib/1.2.11 liblzma/5.2.4 bz2lib/1.0.8 liblz4/1.9.2 libzstd/1.4.5
訓練済モデルのインストール
$ sudo apt install tesseract-ocr-jpn tesseract-ocr-jpn-vert $ sudo apt install tesseract-ocr-script-jpan tesseract-ocr-script-jpan-vert
ちゃんとインストールされたかを確認。
$ tesseract --list-langs List of available languages (6): Japanese Japanese_vert eng jpn jpn_vert osd
文字認識実行
以下の画像を使うことにしました。アルファベット、数値、ひらがなが含まれています。この画像を「ocr.png」というファイル名で保存します。
コマンドラインで以下を実行しましょう。末尾のengは英語認識オプションです。実行するとresult.txtというファイルが生成されます。
$ tesseract ocr.png result -l eng
結果はこちらです。なぜか中央の数値列は認識できませんでした。英語も1箇所誤りがありますね。英語認識なので日本語ができないのは仕方ないですが。
abcdef ABCDE ab cadeE 01234 5
ただ、オプションをjpnに変えても日本語の方は認識できませんでした。日本語は難しいかもしれませんね。
また、学習させることもできるので教示データさえ揃えば日本語の認識も可能に鳴ると思います。
スポンサーリンク