一个简单的 Python OCR 的终端应用

2017-12-02 11:19:14 +08:00
 douglas1997

我对 OCR 的需求非常大,一开始因为 Mac 上是没有类似的软件的,或者软件质量很差,所以就一直用手机 APP 来解决,然后利用 iOS 的同步剪切板进行后处理,(因为识别后的文本中可能有大量的换行),识别率很高但是非常麻烦。

最近 V2 上有开发者开发出了 iText 的工具,我之前就想开发一款命令行的,但是一直没有动力。根据他提供的腾讯 API 的信息,我最终完成了简易版本。其实写的代码量很少,不超过 20 行,就算是方便其他人吧。

我也给 iText 付费了一年,支持了作者的项目。也有 V2 的同学开发了类似的产品,但是总觉得 XCode 对于我说太重了(还要编译)。因为是 CV 行业的人员,所以就使用了 Python3。

这个腾讯的接口 1000 次 /每月以内免费。

https://github.com/sydney0zq/python_ocr

3764 次点击
所在节点    分享创造
12 条回复
designer
2017-12-02 11:22:47 +08:00
厉害了!
douglas1997
2017-12-02 11:25:07 +08:00
@designer 不不不。。我没有做任何的优化。大家可以自己做,因为我没有这方面的需求,我一般是做笔记所以才会用到的。

大家也不要喷我,这个实在是太简单了= =
designer
2017-12-02 11:27:50 +08:00
谦虚了!
douglas1997
2017-12-02 11:38:14 +08:00
对了,APPEND 一下,识别完后的字符串会直接进入系统的剪切板。截图会存到 /tmp/clip.jpg 里面。我用来用去,觉得这样是最方便的。
KgM4gLtF0shViDH3
2017-12-02 15:20:15 +08:00
盗版书嘛😏
hlwjia
2017-12-02 15:26:05 +08:00
“因为是 CV 行业的人员,所以就使用了 Python3。”

这句话怎么理解?
douglas1997
2017-12-02 17:15:36 +08:00
@bestkayle 对啊,比较喜欢 pdf 扫描版的。
douglas1997
2017-12-02 17:16:11 +08:00
@hlwjia CV 的框架很多都是 python 写的。
aaronzjw
2017-12-02 20:39:43 +08:00
great! 明年 maybe 有用,战略性 mark/fork
tomoya92
2017-12-02 21:29:00 +08:00
为什么要用人家的接口呢?自己电脑上装一个不是更爽吗?也是一条命令的事

1. 安装:brew install tesseract
2. 到开源库下载中文训练库文件 https://github.com/tesseract-ocr/tessdata 中文是哪个不用我说了吧
3. 拷贝到 tesseract 安装目录下,用 brew 安装的路径在 /usr/local/Cellar/tesseract/3.05.01/share/tessdata
4. 截图,然后终端运行:tesseract test.png stdout -l chi_sim 图片上的文字就转出来了

如果识别不准确了,还可以使用 jTessBoxEditor 来自己训练

![test11.png]( https://i.loli.net/2017/12/02/5a22aa3e745e9.png)
tomoya92
2017-12-02 21:30:12 +08:00
@liygheart #10 另外说一下,windows 上也支持,只是安装 tesseract 方法跟 mac 上不一样而已,想折腾的可以自行百度一下
douglas1997
2017-12-02 21:37:28 +08:00
@liygheart 训练起来很麻烦,我们实验室有相关项目。但如果是中文的话,用 API 会方便很多。当然啦,离线也是一种选择。我认为越多的选择,熵越低。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/411350

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX