通过容器搭建开源文字识别/OCR服务

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 通过容器搭建开源文字识别/OCR服务

前一段时间需要应用文字识别,看了一下国内外开源的OCR软件,发现中文识别有:
Tesseract
PaddleOCR
EasyOCR
Chineseocr
Trwebocr
Cnocr/cnstd
等,通过对比识别效果,感觉PaddleOCR效果较好,准备部署服务,开发环境没有GPU,所以先通过容器模式部署CPU版。具体过程如下:

下载PaddleOCR:https://gitee.com/paddlepaddle/PaddleOCR
在容器目录下包括:
PaddleOCR (下载的代码)
requirements.txt
Dockerfile

requirements.txt的内容如下:
shapely
scikit-image
imgaug==0.4.0
pyclipper
lmdb
tqdm
numpy
visualdl
python-Levenshtein
opencv-contrib-python==4.4.0.46
cython
lxml
premailer
openpyxl
attrdict
paddlepaddle
paddlenlp
paddle2onnx
paddlehub

Dockerfile内容如下:

Base Images

FROM python:3.7-buster

把当前文件夹里的文件构建到镜像的根目录下

ADD . /

WORKDIR /

RUN apt -y update
RUN apt -y install g++
RUN apt -y install libglib2.0-dev
RUN apt -y install libgl1-mesa-glx
RUN apt -y install libsm6
RUN apt -y install libxrender1

安装所需要的包

RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

WORKDIR /PaddleOCR

RUN mkdir -p /PaddleOCR/inference/

ADD https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_det_infer.tar /PaddleOCR/inference/
RUN tar xf /PaddleOCR/inference/ch_PP-OCRv3_det_infer.tar -C /PaddleOCR/inference/

ADD https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar /PaddleOCR/inference/
RUN tar xf /PaddleOCR/inference/ch_ppocr_mobile_v2.0_cls_infer.tar -C /PaddleOCR/inference/

ADD https://paddleocr.bj.bcebos.com/PP-OCRv3/chinese/ch_PP-OCRv3_rec_infer.tar /PaddleOCR/inference/
RUN tar xf /PaddleOCR/inference/ch_PP-OCRv3_rec_infer.tar -C /PaddleOCR/inference/

检测+识别串联服务模块:

RUN hub install deploy/hubserving/ocr_system/

分类服务模块:

RUN hub install deploy/hubserving/ocr_cls/

检测服务模块:

RUN hub install deploy/hubserving/ocr_det/

安装识别服务模块:

RUN hub install deploy/hubserving/ocr_rec/

EXPOSE 8899

执行:
docker build -t ppocr:0.1 .

启动服务
docker run -itd --name ppocr -p 9000:9000 ppocr:0.1 /bin/bash -c "cd /PaddleOCR && hub serving start --modules ocr_system ocr_cls ocr_det ocr_rec -p 8899"

然后就可以通过http://host:9000/predict/ocr_system访问文字识别服务了。

相关文章
|
2天前
|
文字识别
印刷文字识别产品使用合集之手写识别服务,能单独识别出来手写的选项吗
印刷文字识别(Optical Character Recognition, OCR)技术能够将图片、扫描文档或 PDF 中的印刷文字转化为可编辑和可搜索的数据。这项技术广泛应用于多个领域,以提高工作效率、促进信息数字化。以下是一些印刷文字识别产品使用的典型场景合集。
11 0
|
2天前
|
文字识别 JavaScript Java
印刷文字识别产品使用合集之阿里云文字识别OCR demo主要有哪些
印刷文字识别(Optical Character Recognition, OCR)技术能够将图片、扫描文档或 PDF 中的印刷文字转化为可编辑和可搜索的数据。这项技术广泛应用于多个领域,以提高工作效率、促进信息数字化。以下是一些印刷文字识别产品使用的典型场景合集。
138 0
|
3天前
|
文字识别 API Swift
印刷文字识别产品使用合集之怎么进行牌匾文字识别
印刷文字识别(Optical Character Recognition, OCR)技术能够将图片、扫描文档或 PDF 中的印刷文字转化为可编辑和可搜索的数据。这项技术广泛应用于多个领域,以提高工作效率、促进信息数字化。以下是一些印刷文字识别产品使用的典型场景合集。
11 1
|
3天前
|
机器学习/深度学习 文字识别 监控
印刷文字识别产品使用合集之在OCR中,识别增值税专用发票的时候为什么会把不含税金额做取整处理
印刷文字识别(Optical Character Recognition, OCR)技术能够将图片、扫描文档或 PDF 中的印刷文字转化为可编辑和可搜索的数据。这项技术广泛应用于多个领域,以提高工作效率、促进信息数字化。以下是一些印刷文字识别产品使用的典型场景合集。
16 2
|
3天前
|
文字识别 JavaScript 前端开发
印刷文字识别产品使用合集之在OCR中,可以使用平台给的AppKey、AppSecret、AppCode进行调用吗
印刷文字识别(Optical Character Recognition, OCR)技术能够将图片、扫描文档或 PDF 中的印刷文字转化为可编辑和可搜索的数据。这项技术广泛应用于多个领域,以提高工作效率、促进信息数字化。以下是一些印刷文字识别产品使用的典型场景合集。
10 1
|
3天前
|
文字识别
印刷文字识别产品使用合集之OCR调用为什么会失败
印刷文字识别(Optical Character Recognition, OCR)技术能够将图片、扫描文档或 PDF 中的印刷文字转化为可编辑和可搜索的数据。这项技术广泛应用于多个领域,以提高工作效率、促进信息数字化。以下是一些印刷文字识别产品使用的典型场景合集。
8 1
|
4天前
|
监控 Kubernetes Docker
【Docker 专栏】Docker 容器内应用的健康检查与自动恢复
【5月更文挑战第9天】本文探讨了Docker容器中应用的健康检查与自动恢复,强调其对应用稳定性和系统性能的重要性。健康检查包括进程、端口和应用特定检查,而自动恢复则涉及重启容器和重新部署。Docker原生及第三方工具(如Kubernetes)提供了相关功能。配置检查需考虑检查频率、应用特性和监控告警。案例分析展示了实际操作,未来发展趋势将趋向更智能和高效的检查恢复机制。
【Docker 专栏】Docker 容器内应用的健康检查与自动恢复
|
2天前
|
Java 虚拟化 Docker
Docker简介及用途,为什么要使用Docker?Docker容器和虚拟机的区别
Docker简介及用途,为什么要使用Docker?Docker容器和虚拟机的区别
|
2天前
|
存储 Linux Docker
CentOS7修改Docker容器和镜像默认存储位置
CentOS7修改Docker容器和镜像默认存储位置
|
2天前
|
Linux Docker 容器
更改docker容器中的时间而不影响宿主机
更改docker容器中的时间而不影响宿主机
http://www.vxiaotou.com