非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

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に変えても日本語の方は認識できませんでした。日本語は難しいかもしれませんね。

また、学習させることもできるので教示データさえ揃えば日本語の認識も可能に鳴ると思います。

 

スポンサーリンク

 - Linux