From a3d6befb0d6492a1742348db2f928e7f2b5c7d13 Mon Sep 17 00:00:00 2001 From: "Gerber, Mike" Date: Mon, 23 Sep 2019 15:02:59 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8F=97=20Build=20Tesseract=20from=20sourc?= =?UTF-8?q?e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 41 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2a21dfb..dd9a73c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,18 +5,51 @@ ENV LC_ALL=C.UTF-8 LANG=C.UTF-8 RUN mkdir /var/lib/calamari-models COPY data/calamari-models/GT4HistOCR /var/lib/calamari-models/GT4HistOCR + RUN apt-get update && \ apt-get install -y \ + curl xz-utils \ + python3-pip \ git \ - libleptonica-dev \ - libtesseract-dev \ +# For leptonica/tesseract: + cmake libgif-dev libjpeg-dev libpng-dev libtiff-dev zlib1g-dev \ +# For clstm on Ubuntu 19.04: + swig libeigen3-dev libpng-dev libprotobuf-dev \ +# XML utils libxml2-utils \ - python3-pip \ - tesseract-ocr-all \ xmlstarlet \ && \ apt-get clean + +# Build Leptonica and Tesseract. +# XXX Use a multi stage build for this. +ENV LEPTONICA_VERSION 1.78.0 +ENV TESSERACT_VERSION 4.1.0 +ENV TESSDATA_BEST_VERSION 4.0.0 + +ENV TESSDATA_PREFIX /usr/local/share/tessdata + +RUN curl -sSL -O https://github.com/DanBloomberg/leptonica/releases/download/$LEPTONICA_VERSION/leptonica-$LEPTONICA_VERSION.tar.gz && \ + tar xvzf leptonica-$LEPTONICA_VERSION.tar.gz && \ + cd leptonica-$LEPTONICA_VERSION && \ + mkdir build && cd build && cmake .. && make install && ldconfig && \ + cd ../.. && rm -rf leptonica-$LEPTONICA_VERSION leptonica-$LEPTONICA_VERSION.tar.gz + +RUN curl -sSL -O https://github.com/tesseract-ocr/tesseract/archive/$TESSERACT_VERSION.tar.gz && \ + tar xvzf $TESSERACT_VERSION.tar.gz && \ + cd tesseract-$TESSERACT_VERSION && \ + mkdir build && cd build && cmake .. && make install && ldconfig && \ + cd ../.. && rm -rf tesseract-$TESSERACT_VERSION $TESSERACT_VERSION.tar.gz + +RUN curl -sSL -O https://github.com/tesseract-ocr/tessdata_best/archive/$TESSDATA_BEST_VERSION.tar.gz && \ + tar xvzf $TESSDATA_BEST_VERSION.tar.gz && \ + mv tessdata_best-$TESSDATA_BEST_VERSION $TESSDATA_PREFIX && \ + rm -rf $TESSDATA_BEST_VERSION.tar.gz && \ + tesseract --list-langs + + + COPY requirements.txt /tmp RUN pip3 install --no-cache-dir -r /tmp/requirements.txt