爬虫遇到了验证码无法识别?
PDF 里的扫描文档让你无从下手?
公司的有 OCR 需求但又不想花钱?
写论文就想 抄参考 一段,但文库下载都要收费?
不用担心这些了!
来吧朋友,这款适合人类食用的离线中文 OCR 项目解决你所有的烦恼!
今天的主角就是这款在 github 上开源的项目:TrWebOCR
介绍
项目是基于开源离线 OCR 项目 Tr构建的,
解决了 Tr 不支持并发的问题,
并且提供了 web 页面和 web 接口可使用,
因此无论是日常的使用还是其他项目调用也都十分的方便。
效果
明人不说暗话,是骡子是马拉出来遛遛就知道了!
下面是可能比较常用的两个场景:文档和验证码的识别。
文档识别的置信度基本在 99%,验证码识别出的置信度也在 72%以上。
这极简的界面,
超高的识别率,
强大的功能,
你心动了吗?
如何安装
再优秀的东西,
如果安装就得花上半天,
那也足以劝退很多人,
因此,
它的部署起来是极其容易的。
即使你想在自己的 Windows 或 MacOS 上部署也没有问题,
通过 Docker 就可以完美解决~
在 Linux 服务器部署
在服务器上部署只需要 3 步:
- 安装 python3.7
推荐使用 miniconda )
- 执行 install.py
python install.py
- 安装依赖包
pip install -r requirements.txt
搞定!
运行 main.py后,
web 服务默认运行在 8089 端口,
看到以下输出就代表运行成功了:
$ python backend/main.py
> tr 1.5.0 https://github.com/myhub/tr
> server is running: 0.0.0.0:8089
如果有报错,可以参考项目的 wiki 来解决
在 Docker 部署
在 Docker 上部署就更加简单了,
该方法适合非 Linux 的用户,
或者对环境有洁癖的用户。
项目提供了 Dockerfile
,
只需要简单的build
, run
就可以运行了!
- 编译 Dockerfile
$ docker build -t TrWebOCR:latest .
- 运行一个容器
$ docker run -itd -p 8089:8089 --name trweb trweb-ocr:latest /bin/bash
这里把容器的 8089 端口映射到了物理机的 8089 上,
但如果你不喜欢映射,
去掉 run 后面的 -p 8089:8089
,
就可以通过 Docker 容器的 ip 来访问了。
配置的要求
最后一点,也是最重要的一点。
该项目不需要太高的配置!!!
一个 1 核 2G的机器就能够跑得起来了!
但如果你的项目对并发的要求比较高的话,
还是得上高配置一点的机器~