Tesseract OCR のインストール(ソースコードを使用)(Ubuntu 上)

概要

tesseract-ocr は文字認識のOCR(光学文字認識)ソフトウェアである。最新版を追いかけたいときや、学習を行いたいときは、ソースコードを使ってインストールするのが簡単である。

URL: https://github.com/tesseract-ocr

インストールと設定(フリーソフトウェアの活用のために)(ビデオによる実演)
https://www.kkaneko.jp/tools/win/tools.html

YouTube のチャンネル「金子邦彦」
https://youtube.com/user/kunihikokaneko

目次

第1章 前準備

Ubuntu のシステム更新

Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する.

Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行する。これは、パッケージ情報を最新の状態に保ち、インストール済みのパッケージをセキュリティアップデートやバグ修正を含めて更新するためである。

Ubuntu のインストールはこちらの別ページで説明する。

# パッケージリストの情報を更新
sudo apt update
# インストール済みのパッケージを包括的に更新(依存関係も考慮)
sudo apt full-upgrade
# カーネル更新等で実際に再起動が必要な場合のみ実行を推奨
# sudo shutdown -r now

Git, CMake のインストール(Ubuntu 上)

インストールするには,端末で,次のコマンドを実行する.

sudo apt -y install git cmake cmake-curses-gui cmake-gui

C/C++ コンパイラと Make とビルドツールのインストール

ソフトウェアをソースコードからビルドするには、C/C++コンパイラ(通常はGCC)や make ユーティリティといった開発ツールが必要である。Ubuntuでは、これらのツールは build-essential パッケージにまとめられている。インストールするには,端末で,次のコマンドを実行する。

sudo apt -y install build-essential libtool texinfo dpkg-dev pkg-config

libtool, texinfo, dpkg-dev, pkg-config は、より複雑なビルドやパッケージ管理の際に役立つ開発関連ツールである。

第2章 Tesseract のアンインストール(Ubuntu 上)

apt を用いてインストールされていた Tesseract のアンインストール

これは,apt を使って Tesseract をインストールしていた場合の アンインストール操作である。

sudo apt --purge remove libtesseract-dev libtesseract4 tesseract-ocr tesseract-ocr-eng tesseract-ocr-jpn tesseract-ocr-osd tesseract-ocr-script-jpan tesseract-ocr-script-jpan-vert

第3章 ダウンロードとビルドとインストール

  1. Leptonica のインストール

    Leptonica は画像処理・画像解析のソフトウェア・ライブラリである。

    Leptonica の URL: https://github.com/DanBloomberg/leptonica

    # パッケージリストの情報を更新
    sudo apt update
    sudo apt -y install zlib1g-dev
    sudo apt -y install libpng-dev libjpeg-dev libtiff5-dev libsdl-gfx1.2-dev libsdl-image1.2-dev libsdl1.2-dev libavcodec-dev libavdevice-dev libavformat-dev libavutil-dev 
    sudo apt -y install python3-enchant python3-poppler-qt5
    
    cd /tmp
    rm -f leptonica-1.87.0.tar.gz
    curl -O https://leptonica.org/source/leptonica-1.87.0.tar.gz
    tar -xvzf leptonica-1.87.0.tar.gz
    cd leptonica-1.87.0
    rm -rf build
    mkdir build
    cd build
    cmake -DBUILD_PROG=ON -DCMAKE_C_FLAGS="-DPIC -fPIC" -DCMAKE_CXX_FLAGS="-DPIC -fPIC" ..
    make
    sudo make install
    sudo /sbin/ldconfig
    
  2. Tesseract のインストール

    Tesseract は OCR エンジンのソフトウェアである。安定版の最新バージョンは5.5.1である。

    Tesseract の URL: https://github.com/tesseract-ocr/

    「make LIBS="-lz -lpng -ljpeg -ltiff -lwebp"」で 「LIBS="-lz -lpng -ljpeg -ltiff -lwebp"」を付けているのは, 「/usr/bin/ld: /usr/local/lib/libleptonica.a(libversions.c.o): undefined reference to symbol 'zlibVersion' /usr/bin/ld: /lib/x86_64-linux-gnu/libz.so.1: error adding symbols: DSO missing from command line 」というエラーメッセージが出るのを回避するためである。
    # パッケージリストの情報を更新
    sudo apt update
    sudo apt -y install automake libcairo2-dev libpango1.0-dev libopenjp2-7-dev libtool libcurl4-openssl-dev gawk zlib1g-dev
    cd /tmp
    rm -rf tesseract
    git clone --recursive https://github.com/tesseract-ocr/tesseract
    cd tesseract
    ./autogen.sh
    sudo rm -rf /usr/local/share/tessdata
    ./configure --enable-static --disable-shared --with-gnu-ld
    make CFLAGS="-fopenmp -DPIC -fPIC -O2 -std=c++17" CXXFLAGS="-fopenmp -DPIC -fPIC -O2 -std=c++17" LIBS="-lz -lpng -ljpeg -ltiff -lwebp -lopenjp2"
    
    sudo make install
    sudo /sbin/ldconfig
    
  3. 使用できる言語がないことを確認しておく
    tesseract --list-langs
    
  4. 学習済みデータ及びスクリプト等のダウンロード
    cd /usr/local/share
    sudo rm -rf tessdata_best
    sudo rm -rf tessdata
    sudo git clone --recursive https://github.com/tesseract-ocr/tessdata_best
    sudo mv tessdata_best tessdata
    
  5. 結果の確認

    エラーメッセージが出ていないこと.

  6. 再び,使用できる言語を確認する.今度は,使用できる言語が増えている.
    tesseract --list-langs
    
  7. テスト実行

    画像ファイルを用意し、テスト実行してみる

    tesseract 2255.png outbase -l jpn
    cat outbase.txt 
    
  8. Tesseract の学習用ツールのインストール
    cd /tmp/tesseract
    make training LIBS="-lz -lpng -ljpeg -ltiff -lwebp -lopenjp2"
    sudo make training-install
    
  9. 終了の確認

    エラーメッセージが出ていないこと

  10. フォントファイル(langdata) のダウンロード
    cd /usr/local/share
    sudo rm -rf langdata_lstm
    sudo rm -rf langdata
    sudo git clone --recursive https://github.com/tesseract-ocr/langdata_lstm
    sudo mv langdata_lstm langdata
    
  11. 結果の確認

    エラーメッセージが出ていないこと.

第4章 関連ソフトウェアのインストール

gImageReader は Tesseract OCR の GUI フロントエンドである。

# パッケージリストの情報を更新
sudo apt update
sudo apt -y install gimagereader