はじめに

Googleが開発したTesseract(テッセラクト)の環境をDockerを使用して作成します。

目次

  1. aptでインストール
  2. Gitからソースを持って来てコンパイル
  3. まとめ

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の環境が手に入りました。
モデルのトレーニング方法なども追加で書く予定です。
ありがとうございました。