LoginSignup
7
11

More than 3 years have passed since last update.

DockerでTesseractの環境を構築してみた。。。

Last updated at Posted at 2020-01-19

はじめに

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

7
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
11