
起因
有一天,客户王总找到我。
王总:小马啊,我用你们的产品啊,老是报错,你能给我解决一下吗?
我:王总好~ 当然没问题,您方便把错误发给我看下吗?
王总:
我:王总,您能复制一下中间错误的ID吗?
王总:不能。
我:好的,没关系,我给您手敲,谢谢~
关键词
- 中文WebOCR 史上最强,最简洁,最好用的中文WebOCR
- Brand New Server: Debian Server搭建在Debian Server上的
- 树莓派
呃,图片是缓存在小树上的 - 马伯恩的小站
步骤
关于中文OCR
我当然不会给王总去手敲那一大长串的id,其实我敲了,也不算长嘛,也就三十几个数字加字母,中间还错了2次。
但是在这之前,我是尝试搜索了一下的,市面上有很多在线识别的网站,但是它们都很垃圾
,要么是等待时间长,要么是要求付费。
最恶心的是有的网站在等待了1分多钟之后,提示识别已完成,请付费获取数据
,我不得不爆一句粗口:
那么王总的id到底是什么?
打开中文WebOCR一试便知:
原来王总的ID是 Correlation ID:5b5fc892-eeae-4098-b473-6c01567f721f
这个呀!
WebOCR-开源的离线OCR
中文WebOCR,是给予开源项目Tr构建。 在其基础上提供了http调用的接口,便于我们在其他的项目中调用。 并且提供了易于使用的web页面,便于调试或日常使用。
WebOCR特性
中文识别
快速高识别率文字检测
支持一定角度的旋转并发请求
由于模型本身不支持并发,但通过tornado多进程的方式,能支持一定数量的并发请求。具体并发数取决于机器的配置。
安装说明
服务器部署
安装python3.7
推荐使用miniconda安装依赖包
shell
pip install -r requirements.txt
- 运行
项目默认运行在3008端口,默认不开启gpu:
shell
python backend/main.py [--port=3008][--open_gpu=0]
# --port 指定运行时端口号 默认是3008
# --open_gpu 是否开启gpu 默认是0(不开启),可设置为1(开启)
看到以下输出则代表安装成功:
shell
tr 2.3.0 https://github.com/myhub/tr
Server is running: http://192.168.31.95:3008
Now version is: cpu
Docker部署
使用 Dockerfile 构建 或者直接 Pull镜像
shell
# dockerfile 构建
docker build -t gitocr:latest .
# 运行镜像
docker run -itd --rm -p 3008:3008 --name gitocr gitocr:latest
shell
# 从 dockerhub pull
docker pull naluspot/gitocr:latest
# 运行镜像
docker run -itd -p 3008:3008 --name gitocr naluspot/gitocr:latest
这里把容器的3008端口映射到了物理机的3008上,但如果你不喜欢映射,去掉run后面的-p 3008:3008
也可以使用docker的IP加3008
来访问
接口文档
接口文档的内容放在了本项目的wiki里:
接口文档
接口调用示例
- Python 使用File上传文件
python
import requests
url = 'https://www.majun.fun:3008/api/tr-run/'
img1_file = {
'file': open('img1.png', 'rb')
}
res = requests.post(url=url, data={'compress': 0}, files=img1_file)
- Python 使用Base64
python
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 = 'https://www.majun.fun:3008/api/tr-run/'
img_b64 = img_to_base64('./img1.png')
res = requests.post(url=url, data={'img': img_b64})
- Postman演示:
其他效果展示


