通过容器搭建开源文字识别/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访问文字识别服务了。

相关文章
|
24天前
|
文字识别 容器
文字识别OCR常见问题之本地部署如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
30 3
|
24天前
|
文字识别 前端开发 API
文字识别OCR常见问题之处理产品图片识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
22 3
|
16天前
|
关系型数据库 MySQL Nacos
【深入浅出Nacos原理及调优】「实战开发专题」采用Docker容器进行部署和搭建Nacos服务以及“坑点”
【深入浅出Nacos原理及调优】「实战开发专题」采用Docker容器进行部署和搭建Nacos服务以及“坑点”
41 1
|
21天前
|
机器学习/深度学习 文字识别 并行计算
【C/C++ OCR识别】深入探索:Qt C++与OCR识别的完美结合
【C/C++ OCR识别】深入探索:Qt C++与OCR识别的完美结合
60 2
|
24天前
|
机器学习/深度学习 文字识别 API
文字识别OCR常见问题之发票真伪查询有接口如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
25 0
|
24天前
|
文字识别 API
文字识别OCR常见问题之支持香港和澳门的营业执照识别如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
21 3
|
24天前
|
存储 文字识别 API
文字识别OCR常见问题之识别一些截图的模式如何解决
文字识别OCR(Optical Character Recognition)技术能够将图片或者扫描件中的文字转换为电子文本。以下是阿里云OCR技术使用中的一些常见问题以及相应的解答。
26 0
文字识别OCR常见问题之识别一些截图的模式如何解决
|
1月前
|
Java Go 开发者
Docker容器技术简介及其与Go语言的结合点
【2月更文挑战第23天】本文首先概述了Docker容器技术的核心概念和优势,接着探讨了Go语言与Docker容器技术的结合点。通过阐述Docker的轻量级、可移植性和版本控制等特性,以及Go语言在容器化应用中的优势,本文旨在说明两者结合能够实现更高效、灵活的应用开发和部署。
|
1月前
|
Oracle 关系型数据库 数据库
|
5天前
|
Linux Docker 容器
docker 容器常用命令
docker 容器常用命令
10 0