项目打包到docker构建完成之后,发现在docker中用tesseract OCR识别出来的结果与本地开发时的结果不同,猜测是因为tesseract版本不一致。
本地mac上的版本:
tesseract 4.1.1 leptonica-1.81.1 libgif 5.2.1 : libjpeg 9d : libpng 1.6.37 : libtiff 4.3.0 : zlib 1.2.11 : libwebp 1.2.0 : libopenjp2 2.4.0 Found AVX2 Found AVX Found FMA Found SSE
docker中的版本:
tesseract 3.04.01 leptonica-1.74.1 libgif 5.1.4 : libjpeg 6b (libjpeg-turbo 1.5.1) : libpng 1.6.28 : libtiff 4.0.8 : zlib 1.2.8 : libwebp 0.5.2 : libopenjp2 2.1.2
于是尝试为docker更新tesseract的版本到4.1.1
docker镜像, FROM debian:stretch-slim
进入docker的命令行:
docker exec -it 94fcf3242df3 bash
查看docker的系统版本:
# cat /etc/issue Debian GNU/Linux 11 l # cat /etc/debian_version 9.13
https://packages.debian.org/search?keywords=tesseract-ocr
查询以上网页可知,debian 9.13 支持的最高版本就是 tesseract 3.04,于是尝试为debian 9.13 stretch安装 tesseract 4.1.1
正确步骤,参考网页:https://notesalexp.org/tesseract-ocr/
首先安装:
apt-get install apt-transport-https apt-get install wget
添加源:
echo "deb https://notesalexp.org/tesseract-ocr/stretch/ stretch main" >> /etc/apt/sources.list
添加GPG key:
wget -O - https://notesalexp.org/debian/alexp_key.asc | sudo apt-key add - sudo apt-get update
更新tesseract:
apt-get install tesseract-ocr