No description
Find a file
2022-01-23 23:30:30 +08:00
backend DEV 更新tr2.3.1版本 2022-01-23 23:27:32 +08:00
fontend Merge pull request #21 from alisen39/dependabot/npm_and_yarn/fontend/lodash-4.17.19 2020-07-25 10:35:43 +08:00
.dockerignore 更新tr2.0 2020-07-26 23:36:49 +08:00
.gitignore 更新tr2.0 2020-07-26 23:36:49 +08:00
Dockerfile 优化dockerfile 2021-10-27 23:58:24 +08:00
install.py
LICENSE.txt DEV 增加不返回图片功能 2022-01-16 19:25:48 +08:00
README.md 更新说明 2022-01-23 23:30:30 +08:00
requirements.txt 更新docker镜像,支持tr2.3 2020-08-17 21:54:48 +08:00
supervisord.conf
updateHistory.md 更新说明 2022-01-23 23:30:30 +08:00

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})

效果展示

文档识别

验证码识别

更新记录

  • 2022年01月23日
    更新tr2.3.1版模型

    模型本身支持多线程了~~现在直接可以打满CPU了所有核

  • 2022年01月16日
    更新接口,增加不返回图片参数

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

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

更多记录 >>>

License

Apache 2.0

鸣谢

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

最后

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

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