s_h*_*s_h 7 python opencv tesseract docker python-tesseract
我正在开发一个项目,需要我在 docker 容器上运行 pytesseract,但无法将 tesseract 安装到容器上,我也不知道 pytesseract 的文件路径应该是什么
我的 Dockerfile:
FROM python:3
ENV PYHTONUNBUFFERED=1
RUN apt-get update && apt-get install -y --no-install-recommends \
bzip2 \
g++ \
git \
graphviz \
libgl1-mesa-glx \
libhdf5-dev \
openmpi-bin \
wget \
python3-tk && \
rm -rf /var/lib/apt/lists/*
WORKDIR /usr/src/app
COPY requirements.txt ./
RUN pip install -r requirements.txt
ENV QT_X11_NO_MITSHM=1
Run Code Online (Sandbox Code Playgroud)
我的 pytesseract 代码:
path_to_tesseract = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
pytesseract.tesseract_cmd = path_to_tesseract
img=cv2.imread(fpath)
img=cv2.resize(img,None,fx=2,fy=2, interpolation=cv2.INTER_CUBIC)
text=pytesseract.image_to_string(img)
Run Code Online (Sandbox Code Playgroud)
我看到你也在使用opencv。使用 pytesseract 需要以下依赖项:
FROM python:3.10-slim
ENV PYHTONUNBUFFERED=1
RUN apt-get update \
&& apt-get -y install tesseract-ocr \ # required for pytesseract
&& apt-get -y install ffmpeg libsm6 libxext6 # required for opencv
...
RUN pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
但当您使用 docker 时,我建议安装它,opencv-python-headless而不是opencv主要用于 Docker 等无头环境。它将附带一个预编译的二进制轮并减少 Docker 映像的大小。Dockerfile 将减少为:
FROM python:3.10-slim
ENV PYHTONUNBUFFERED=1
RUN apt-get update \
&& apt-get -y install tesseract-ocr
...
RUN pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9336 次 |
| 最近记录: |