LoginSignup
5
6

More than 3 years have passed since last update.

この記事はユニークビジョン株式会社 Advent Calendar 2019の22日目の記事です。

はじめに

本記事では、tesseractを使用して名刺のOCRを行います。

インストール

基本的にはGitHubのインストール手順に従います。
最新版のインストールにはPPAを登録する必要があります。
また、tesseractのインストールと同時に日本語用のデータもインストールします。

$ add-apt-repository ppa:alex-p/tesseract-ocr-devel -y
$ apt update
$ apt install -y tesseract-ocr libtesseract-dev tesseract-ocr-jpn

バージョンを確認します。無事、5.00 Alphaがインストールされています。

$ tesseract -v
tesseract 5.0.0-alpha-582-g60b07
 leptonica-1.78.0
  libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.5.2) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.3.0
 Found AVX2
 Found AVX
 Found FMA
 Found SSE
 Found OpenMP 201511
 Found libarchive 3.2.2 zlib/1.2.11 liblzma/5.2.2 bz2lib/1.0.6 liblz4/1.7.1

ついでに、日本語が使用できることを確認します。

$ tesseract --list-langs
List of available languages (3):
eng
jpn
osd

試してみる

GitHubの使用方法によれば、日本語のOCRは以下のようなコマンドで実行できるようです。

$ tesseract imagename outputbase -l jpn

本記事では、試しに自分の名刺をOCRしてみます。
meishi.jpg

上記画像をmeishi.jpgという名前で保存し、tesseractを実行します。

$ tesseract meishi.jpg meishi -l jpn
Tesseract Open Source OCR Engine v5.0.0-alpha-582-g60b07 with Leptonica
Warning: Invalid resolution 0 dpi. Using 70 instead.
Estimating resolution as 219

すると、以下のようなファイルが生成されると思います。

meishi.txt
Kazumasa YAMAMOTO

ユニークビジョン株式会

〒160-0022 東京都新宿区新宿2- 1 -12 PMO新宿御苑前4F
http://www.uniquevision.coJp/

                                   TEL : 03-6434-9993
E-mail : yamamoto_kazumasa@uniquevision.coJDp


肝心の名前が取れていなかったり、co.jpが誤認識されていたりしますが概ね良さそうな気がします。
ちなみに、解析する言語は複数指定することが出来ます。試しに、英語+日本語で先ほどの名刺を解析すると以下のようになります。

$ tesseract meishi.jpg meishi -l eng+jpn
Tesseract Open Source OCR Engine v5.0.0-alpha-582-g60b07 with Leptonica
Warning: Invalid resolution 0 dpi. Using 70 instead.
Estimating resolution as 219
meishi.txt
Kazumasa YAMAMOTO

ユニ ー ク ビジ ョ ン 株 式 会

〒160-0022 東京 都 新宿 区 新宿 2- 1 -12 PMO 新 宿 御苑 前 4F
http://www.uniquevision.co.jp/

TEL : 03-6434-9993
E-mail : yamamoto_kazumasa@uniquevision.co.jp


日本語の解析結果に不自然なスペースが含まれてしまいましたが、URLやメールアドレスは正しく認識されるようになりました。

CLI以外の方法で実行する

GitHubのWikiにまとまっていました。
本記事では取り扱いませんが、各言語で使用できるラッパーも紹介されており、例えば大量の名刺を自動でOCRするスクリプトなども簡単に書けるかもしれません。

まとめ

本記事ではtesseractを使用したOCRを試しました。
簡単に導入することができるので、業務効率化などに使いやすいと感じました。

今後はプログラムからの実行も試せたらと思います。

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6