ホームページ制作/SEO対策なら株式会社サイバーブレーンへ

 03-5961-5681 平日10:00~19:00

 2017-04-17

tesseract-ocrで画像内の文字列を取得する

■環境

CentOS 6.4
tesseract 3.04.00
leptonica-1.72
libgif 4.1.6
libjpeg 6b (libjpeg-turbo 1.2.1)
libpng 1.2.49
libtiff 3.9.4
zlib 1.2.3
libwebp 0.4.3

■英語の読み取り

試しにこの画像の文字列を読み取ってみます

tesseract tesseract-ocr.gif text -l eng

※オプションについて
「text」の指定で「text.txt」内に文字列が書き出されます
「-l」で言語指定

〇結果
tesseract-ocr

まんま取得できました!

■日本語の読み取り

この画像の文字列を読み取ってみます

tesseract tesseract-ocr-jp.gif text -l jpn

〇結果
Tesseract Open Source OCR Engine v3.04.00 with Leptonica
Error opening data file /usr/share/tesseract/tessdata/jpn.traineddata
Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory.
Failed loading language 'jpn'
Tesseract couldn't load any languages!
Could not initialize tesseract.

jpn.traineddataが必要との事なので、下記ページからダウンロードして、指定の場所に設置。
https://ja.osdn.net/projects/sfnet_tesseract-ocr-alt/releases/

〇結果
テツサラク トオーシーアール

Warning in pixReadMemGif: writing to a temp file, not directly to memory
が出ましたが、ここまで読み取れれば良い方でしょう。

■最後に

今回は一般的なフォントで試したので問題無く画像から文字列を取得できましたが、特殊なフォントや画像状態によっては、まったく使い物にならない場合もあるようです。読み取りの精度を上げるためにはトレーニングが有効で、その方法についてはまた次の機会に致します。

~この記事の著者~

サイト制作に関するお問い合わせは

 03-5961-5681 平日10:00~19:00

メールフォーム

あなたが
サイトに
求める要素
あなたがサイトに求める0要素