トップページインストール,使い方Ubuntu, WSL2Tesseract OCR のインストール(ソースコードを使用)(Ubuntu 上)

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

tesseract-ocr は文字認識のソフトウェア

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

最新版のバージョンは 5.0.0-alpha (2020年10月26日時点)

最新版を追いかけたいときや,学習を行いたいときは,ソースコードを使ってインストールしてから行うのが簡単である.

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

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

前準備

Ubuntu のシステム更新

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

Ubuntu のインストールは別ページで説明している

sudo apt -y update
sudo apt -yV upgrade
sudo /sbin/shutdown -r now

C/C++ コンパイラー,make,パッケージツールのインストール(Ubuntu 上)

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

sudo apt -y install build-essential gcc g++ make libtool texinfo dpkg-dev pkg-config

Git, cmake のインストール

端末で,次のコマンドを実行.

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

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

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

  1. Leptonica のインストール

    Leptonica は画像処理、画像解析ソフトウェア・ライブラリ

    Leptonica の URL: http://www.leptonica.com/Leptonica

    sudo apt -y 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 leptonica-1.80.0.tar.gz
    curl -O http://www.leptonica.org/source/leptonica-1.80.0.tar.gz
    tar -xvzof leptonica-1.80.0.tar.gz
    cd leptonica-1.80.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 エンジン・ソフトウェア.

    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 -y 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
    

    [image]
  3. 使用できる言語がないことを確認しておく
    tesseract --list-langs
    

    [image]
  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. 結果の確認

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

    [image]
  6. 再び,使用できる言語を確認する.今度は,使用できる言語が増えている.
    tesseract --list-langs
    

    [image]
  7. テスト実行

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

    tesseract 2255.png outbase -l jpn
    cat outbase.txt 
    

    [image]
  8. Tesseract の学習用ツールのインストール
    cd /tmp/tesseract
    make training LIBS="-lz -lpng -ljpeg -ltiff -lwebp -lopenjp2"
    sudo make training-install
    

    [image]
  9. 終了の確認

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

    [image]
  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. 結果の確認

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

    [image]

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

gImageReader は Tesseract OCR の GUI フロントエンド

sudo apt -y update
sudo apt -y install gimagereader

[image]