chineseocr_lite 是一个开源项目,用来实现中文的文字识别,支持竖排文字识别、繁体识别,总模型只有 17M(很小就是了),无需联网,支持 CPU 与 GPU,但需要自己部署。@Appinn
目前绝大多数图片转文字,或者说中文 OCR 系统,都使用了云服务,也就是需要联网使用,这使得服务商有着大量的数据可以进行机器学习,而 chineseocr_lite 就有点厉害了:
超轻量级中文 ocr,支持竖排文字识别, 支持 ncnn 推理 , psenet(8.5M) + crnn(6.3M) + anglenet(1.5M) 总模型仅 17M
虽然说,青小蛙对上面的几个项目不是很熟(第一次见),但测试了一番,识别率还是可以的,这就行了。
如何安装?
chineseocr_lite 是一款需要自行编译、自行部署的开源软件(GitHub 开源),所以…有使用门槛!
必备环境:
- Python
- PyTorch(官网)
- VS2015(Windows 需要)
Linux 与 macOS 直接编译就好,青小蛙在想要不要搞成 Docker 方便大家用…想用的人多么?
编译也非常简单,只需要先复制源代码,然后跟着编译即可:
git clone https://github.com/ouyanghuiyu/chineseocr_lite.git
cd psenet/pse
rm -rf pse.so
make
如何运行?
pip3 install -r requirements.txt
cd chineseocr_lite ## 进入chineseocr目录
python3 app.py 8080 ## 8080端口号,可以设置任意端口
上面的安装和运行两个步骤,对于新手会有不少的坑,所以你需要善用搜索引擎…总之青小蛙觉得这是一个能挡住 90% 普通用户的项目 🙈
如何使用?
在浏览器上输入 ip:8080 就能打开页面,然后加载图片进行识别了。并且还有 火车票、身份证 两个单独识别选项。
多謝介紹,有需要的時候再瞧瞧.目前沒啥需要.
搞! 搞! 搞个docker版的 对竖排字体识别非常有需求 就没找到对竖排支持良好的ocr软件
在线引擎不少都支持竖排字体吧,可以试试 PandaOCR,不过不是DOCKER版
正需要!特别是竖版识别,不需要专门下个aabbyy或者别的竖版识别收费项目了,比如天诺ocr有些第三方api是收费的……就是门槛太高,不是软件或者即用形式
既然支持竖排……那请问支持繁体吗?
支持的。
用rm删除文件,还是不要习惯性的加-r参数吧,防止手抖。
目前觉得最方便的当属MouseInc的鼠标手势OCR,还有比这更方便的吗
我用iText 也蛮好的 功能还多
问题是前天我用来识别竖排就完全不行
等能识别日文漫画就好。
求大佬打包一下,加上个自动上传图片识别,这样小白只截屏就可以了~
这个应该不适合小白,毕竟现在还很原始,需要更多的人参与。
好东西, 不知道是否有提供api接口
得自己搞
cd psenet/pse
执行这一条记录的时候显示目录不存在
不存在就是下载错误了。这个文件夹在下载后的源码里。
我是先cd chineseocr_lite,再cd psenet/pse
求docker
能麻烦弄个WINDOWS下编译好的版本吗?水平有限啊。谢谢
算上依赖,这玩意编译完不会小的…参考这里: https://www.appinn.com/chineseocr-lite/#comment-465821
试了一下 build 整个镜像,其实步骤不多,但 git clone 和 pytorch 在天朝的下载速度真的是让人绝望…
尤其是 整个 git 项目 200MB+, pytorch wheel 包 600MB+ … (吐槽下官方竟然不在 pypi 更新版本,导致国内pypi镜像没有 1.2.0版)…
目前进度在 pytorch 镜像里试着 build 一遍…
docker +1 ,举手
自信一点。99%。
能不能识别出文字在图片中的位置坐标, 爬某些bt网站需要用到, 破解点击文字顺序类型的验证码
编译pse的时候出错了,哪位老师帮帮忙,应该怎么解决?
find: -xtype: unknown primary or operator
c++ -o adaptor.so -I include -std=c++11 -O3 adaptor.cpp include/clipper/clipper.cpp –shared -fPIC `pkg-config –cflags –libs opencv`
/bin/sh: pkg-config: command not found
adaptor.cpp:9:10: fatal error: ‘opencv2/opencv.hpp’ file not found
#include
^~~~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [adaptor.so] Error 1
这个“轻量”,是指源码轻量吧?简单看了一下,各种依赖库,还有各种没法用淘宝源的Py库,编译完可就一点都不“轻量”了。
看到vs2015我就放弃了,那声明17m一点意义都没有了
强烈支持青小蛙搞一个!!
蓝奏云不香吗?偏要放城通网盘🌚
这个问题要看从哪个方向来看香不香。
对我们来说,城通可以产生微薄的收益,你说香不香。
不过,你是不是走错片场了?这篇文章并没有提供下载…
抱歉,走错场了,本来是应该在另一篇文章上说的。🌝
搞啊,你弄个API 出来,然后联网使用的话,就真轻量了
请问可不可以传入图片返回文字的text呀?
测试了身份证效果不太理想,好像在切割图片那块就不太理想了,怎么提高成功率呢
小白第一次玩,刚好手头有华为云的资源,试了一下,发现识别书本的结果并不好,可能只适合少量文字的情况。
另外,访问地址是:ip:8080/ocr,不加ocr会提示not found。
requirements.txt里面的pip3 install jupyter才是杀手锏,简直是一个超级全家桶。。。。
C:\chineseocr_lite>python app.py 8080
Traceback (most recent call last):
File “app.py”, line 12, in
from model import text_predict, crnn_handle
File “C:\chineseocr_lite\model.py”, line 3, in
from psenet import PSENet, PSENetHandel
File “C:\chineseocr_lite\psenet\__init__.py”, line 2, in
from .PSENET import PSENetHandel
File “C:\chineseocr_lite\psenet\PSENET.py”, line 8, in
from .pse import decode as pse_decode
File “C:\chineseocr_lite\psenet\pse\__init__.py”, line 9, in
if subprocess.call([‘make’, ‘-C’, BASE_DIR]) != 0: # return value
File “D:\Python380\lib\subprocess.py”, line 340, in call
with Popen(*popenargs, **kwargs) as p:
File “D:\Python380\lib\subprocess.py”, line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File “D:\Python380\lib\subprocess.py”, line 1307, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] 系统找不到指定的文件。