はじめに
Googleが開発したTesseract(テッセラクト)の環境をDockerを使用して作成します。
目次
- aptでインストール
- Gitからソースを持って来てコンパイル
- まとめ
1. aptで簡単にインストール
公式のGitHubを参考にします。
FROM ubuntu:18.04 RUN apt-get update \ && apt-get upgrade -y \ && apt-get install -y \ tesseract-ocr \ libtesseract-dev \ && apt-get clean \ && rm -rf /var/lib/apt/lists/*
Dockerfileのビルド
docker build --rm -f "tesseract/Dockerfile" -t tesseract:apt-install "tesseract"
ビルドが完了したらコンテナを立ち上げます。
tesseract 4.0.0-beta.1
がインストールされていることが確認できます。
tesseractのコンテナ
root@99207ebd4115:/# tesseract -v tesseract 4.0.0-beta.1 leptonica-1.75.3 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 SSE root@99207ebd4115:/#
2. Gitからソースを持って来てコンパイル
次に公式のgitからソースコードを持って来てコンパイルしましょう。
公式のGitHubを参考にします。
ビルドに20分ほどかかります。
FROM ubuntu:18.04 RUN apt-get update \ && apt-get upgrade -y \ && apt-get install -y \ automake \ ca-certificates \ g++ \ git \ libtool \ make \ pkg-config \ wget \ libicu-dev \ libpango1.0-dev \ libcairo2-dev \ && apt-get install -y --no-install-recommends \ asciidoc \ docbook-xsl \ xsltproc \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* WORKDIR /opt ENV TESSERACT_VER="4.1" RUN wget http://www.leptonica.org/source/leptonica-1.79.0.tar.gz \ && git clone -b ${TESSERACT_VER} https://github.com/tesseract-ocr/tesseract.git --single-branch \ && tar -zxvf leptonica-1.79.0.tar.gz WORKDIR /opt/leptonica-1.79.0 RUN ./configure \ && make \ && make install WORKDIR /opt/tesseract RUN ./autogen.sh \ && ./configure \ && make \ && make install \ && ldconfig \ && make training \ && make training-install
Dockerfileのビルド
docker build --rm -f "tesseract/Dockerfile" -t tesseract:compiling "tesseract"
ビルドが完了したらコンテナを立ち上げます。
tesseract 4.1.1-rc2-22-g08899
がインストールされていることが確認できます。
tesseractのコンテナ
oot@76fa9e82e37d:/opt# tesseract -v
tesseract 4.1.1-rc2-22-g08899
leptonica-1.79.0
libpng 1.6.34 : zlib 1.2.11
Found AVX2
Found AVX
Found FMA
Found SSE
root@76fa9e82e37d:/opt#
3. まとめ
Dockerを使用することで、簡単にTesseractの環境が手に入りました。
モデルのトレーニング方法なども追加で書く予定です。
ありがとうございました。