Skip to content

开源易用的中文离线OCR,识别率媲美大厂,并且提供了易用的web页面及web的接口,方便人类日常工作使用或者其他程序来调用~

License

Notifications You must be signed in to change notification settings

python-cloud/TrWebOCR

This branch is 4 commits behind alisen39/TrWebOCR:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bfa6c00 · Aug 17, 2020

History

32 Commits
Jul 30, 2020
Jul 25, 2020
Jul 26, 2020
Jul 26, 2020
Aug 17, 2020
May 1, 2020
Aug 17, 2020
May 1, 2020
Aug 17, 2020
Jun 14, 2020
Aug 17, 2020

Repository files navigation

TrWebOCR-开源的离线OCR

介绍

TrWebOCR,基于开源项目 Tr 构建。
在其基础上提供了http调用的接口,便于你在其他的项目中调用。
并且提供了易于使用的web页面,便于调试或日常使用。

web页面

特性

  • 中文识别
    快速高识别率

  • 文字检测
    支持一定角度的旋转

  • 并发请求
    由于模型本身不支持并发,但通过tornado多进程的方式,能支持一定数量的并发请求。具体并发数取决于机器的配置。

安装需求

运行平台

  • ✔ Python 3.6+
  • ✔ Ubuntu 16.04
  • ✔ ️Ubuntu 18.04
  • ✔ CentOS 7
  • ✔ Docker

Windows和MacOS系统下可通过构建Docker镜像来使用,暂不支持直接部署使用
其他Linux平台暂未测试,可自行安装测试

最低配置要求

  • CPU: 1核
  • 内存: 2G
  • SWAP: 2G

安装说明

服务器部署

  1. 安装python3.7
    推荐使用miniconda

  2. 安装依赖包

pip install -r requirements.txt
  1. 运行
    项目默认运行在8089端口,默认不开启gpu:
python backend/main.py [--port=8089][--open_gpu=0]
# --port 指定运行时端口号 默认是8089  
# --open_gpu 是否开启gpu 默认是0(不开启),可设置为1(开启)

看到以下输出则代表安装成功:

tr 2.3.0 https://github.com/myhub/tr
Server is running: http://192.168.31.95:8089
Now version is: cpu

Docker部署

使用 Dockerfile 构建 或者直接 Pull镜像

# dockerfile 构建
docker build -t trwebocr:latest .

# 运行镜像
docker run -itd --rm -p 8089:8089 --name trwebocr trwebocr:latest 
# 从 dockerhub pull
docker pull mmmz/trwebocr:latest

# 运行镜像
docker run -itd --rm -p 8089:8089 --name trwebocr mmmz/trwebocr:latest 

这里把容器的8089端口映射到了物理机的8089上,但如果你不喜欢映射,去掉run后面的-p 8089:8089 也可以使用docker的IP加8089来访问

接口文档

接口文档的内容放在了本项目的wiki里:
接口文档

接口调用示例

  • Python 使用File上传文件
import requests
url = 'http://192.168.31.108:8089/api/tr-run/'
img1_file = {
    'file': open('img1.png', 'rb')
}
res = requests.post(url=url, data={'compress': 0}, files=img1_file)
  • Python 使用Base64
import requests
import base64
def img_to_base64(img_path):
    with open(img_path, 'rb')as read:
        b64 = base64.b64encode(read.read())
    return b64
    
url = 'http://192.168.31.108:8089/api/tr-run/'
img_b64 = img_to_base64('./img1.png')
res = requests.post(url=url, data={'img': img_b64})

效果展示

文档识别

验证码识别

更新记录

  • 2020年08月17日
    更新Dockerfile,docker镜像支持tr2.3

  • 2020年07月30日
    支持启动命令选择GPU/CPU

  • 2020年07月26日
    更新tr2.0版,支持GPU

更多记录 >>>

License

Apache 2.0

鸣谢

  • 感谢 myhub 和它的开源项目Tr

最后

项目在 GitHub码云 上同步更新,国内朋友可以通过码云clone项目~

如果你也喜欢这个项目,不妨给个star (^.^)✨

About

开源易用的中文离线OCR,识别率媲美大厂,并且提供了易用的web页面及web的接口,方便人类日常工作使用或者其他程序来调用~

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 57.5%
  • Vue 33.9%
  • JavaScript 4.8%
  • HTML 2.0%
  • Dockerfile 1.8%