V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
douglas1997
V2EX  ›  分享创造

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

  •  2
     
  •   douglas1997 · 2017-12-02 11:19:14 +08:00 · 3668 次点击
    这是一个创建于 2358 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    https://github.com/sydney0zq/python_ocr

    第 1 条附言  ·  2017-12-02 14:45:35 +08:00
    ![]( )

    使用场景。
    第 2 条附言  ·  2017-12-02 14:48:21 +08:00
    12 条回复    2017-12-02 21:37:28 +08:00
    designer
        1
    designer  
       2017-12-02 11:22:47 +08:00 via iPhone
    厉害了!
    douglas1997
        2
    douglas1997  
    OP
       2017-12-02 11:25:07 +08:00
    @designer 不不不。。我没有做任何的优化。大家可以自己做,因为我没有这方面的需求,我一般是做笔记所以才会用到的。

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

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

    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
        11
    tomoya92  
       2017-12-02 21:30:12 +08:00
    @liygheart #10 另外说一下,windows 上也支持,只是安装 tesseract 方法跟 mac 上不一样而已,想折腾的可以自行百度一下
    douglas1997
        12
    douglas1997  
    OP
       2017-12-02 21:37:28 +08:00 via iPhone
    @liygheart 训练起来很麻烦,我们实验室有相关项目。但如果是中文的话,用 API 会方便很多。当然啦,离线也是一种选择。我认为越多的选择,熵越低。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3600 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 04:47 · PVG 12:47 · LAX 21:47 · JFK 00:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.