はじめに
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 \
zlib1g-dev \
libtiff5-dev \
libjpeg8-dev \
libpng-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
# leptonica-1.79.0のインストール
RUN ./configure \
&& make \
&& make install
WORKDIR /opt/tesseract
# tesseractのインストール(学習環境も併せて)
RUN ./autogen.sh \
&& ./configure \
&& make \
&& make install \
&& ldconfig \
&& make training \
&& make training-install
ENV TESSDATA_PREFIX="/usr/local/share/tessdata"
RUN wget https://github.com/tesseract-ocr/tessdata_best/raw/master/eng.traineddata -P ${TESSDATA_PREFIX} \
&& wget https://github.com/tesseract-ocr/tessdata_best/raw/master/jpn.traineddata -P ${TESSDATA_PREFIX} \
&& wget https://github.com/tesseract-ocr/tessdata_best/raw/master/jpn_vert.traineddata -P ${TESSDATA_PREFIX}
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の環境が手に入りました。
モデルのトレーニング方法なども追加で書く予定です。
ありがとうございました。