V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
RicardoScofileld
V2EX  ›  Python

Python ocr 识别

  •  
  •   RicardoScofileld · 2018-05-28 09:41:09 +08:00 · 5723 次点击
    这是一个创建于 2400 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在研究图片文字识别,贵族老爷们有没有什么好使的库推荐一发啊,试着用了用 pytesseract,感觉识别效果太差了

    30 条回复    2018-05-29 09:33:21 +08:00
    mashiro233
        1
    mashiro233  
       2018-05-28 09:50:40 +08:00
    tesseract-ocr 需要自己训练样本准确度才会高。
    dassh
        2
    dassh  
       2018-05-28 10:13:53 +08:00
    baidu ocr 接口,最近一直用这个,5W 次 /天免费?
    FreeBSD
        3
    FreeBSD  
       2018-05-28 10:57:26 +08:00
    @dassh baidu ocr 能设计单行模式吗?
    sunsulei
        4
    sunsulei  
       2018-05-28 11:08:49 +08:00
    @dassh #2 #2 讲道理一天 5W 次?

    有什么其他的地址吗?

    dassh
        5
    dassh  
       2018-05-28 11:09:35 +08:00
    @FreeBSD 什么不单行模式,只要其中某行的结果吗?如果是这样那为什么不先截出来再上传识别呢
    dassh
        6
    dassh  
       2018-05-28 11:16:17 +08:00
    @sunsulei 哇靠,你怎么是这样!我从控制台的进去的就是 5W

    sunsulei
        7
    sunsulei  
       2018-05-28 11:40:37 +08:00
    @dassh 控制台跟你的一样... 宣传页面是 500...
    dassh
        8
    dassh  
       2018-05-28 11:59:05 +08:00   ❤️ 1
    @sunsulei 嗯嗯,之前还做进对比:


    百度的黄色的正确是中英标点有误(中文的识别成英文),绿色正确是完全正确,单个标红是除了红色部分其它全部识别正确

    阿里的就是直接的识别结果

    可以看出来百度在文字识别这块还是很强的
    FreeBSD
        9
    FreeBSD  
       2018-05-28 12:34:59 +08:00
    @dassh 类似 tesseract 的 psm 7
    Page segmentation modes:
    0 Orientation and script detection (OSD) only.
    1 Automatic page segmentation with OSD.
    2 Automatic page segmentation, but no OSD, or OCR.
    3 Fully automatic page segmentation, but no OSD. (Default)
    4 Assume a single column of text of variable sizes.
    5 Assume a single uniform block of vertically aligned text.
    6 Assume a single uniform block of text.
    7 Treat the image as a single text line.
    RicardoScofileld
        10
    RicardoScofileld  
    OP
       2018-05-28 13:28:40 +08:00
    @mashiro233 我是直接下载的对应的中文训练集,就是不知道自己训练的话要如何实现呢?
    RicardoScofileld
        11
    RicardoScofileld  
    OP
       2018-05-28 13:31:59 +08:00
    @dassh 大佬发个链接 0.0
    dassh
        12
    dassh  
       2018-05-28 13:59:35 +08:00   ❤️ 1
    RicardoScofileld
        13
    RicardoScofileld  
    OP
       2018-05-28 14:01:12 +08:00
    @dassh 谢谢啦
    RicardoScofileld
        14
    RicardoScofileld  
    OP
       2018-05-28 14:10:11 +08:00
    @dassh 靠 效果确实不错 就是只有 500 次
    dassh
        15
    dassh  
       2018-05-28 14:15:18 +08:00
    @RicardoScofileld 通用识别(非高精度)应该有 5W 的,也够用
    night98
        16
    night98  
       2018-05-28 14:19:13 +08:00 via Android
    ocr 腾讯家最强
    RicardoScofileld
        17
    RicardoScofileld  
    OP
       2018-05-28 14:19:59 +08:00
    @dassh 通用的只有 500 次啊,要是 5w 次的话,我就不用再找了
    RicardoScofileld
        18
    RicardoScofileld  
    OP
       2018-05-28 14:24:09 +08:00
    @dassh 靠,控制台进去 5w 次,外面 500 次,醉了
    chenuu
        19
    chenuu  
       2018-05-28 15:42:29 +08:00
    我买的谷歌云提供的 vision
    RicardoScofileld
        20
    RicardoScofileld  
    OP
       2018-05-28 16:21:55 +08:00
    @chenuu 效果和费用怎么样
    lonelygo
        21
    lonelygo  
       2018-05-28 16:32:30 +08:00
    公网的话,用免费的 ocr 接口,不是特殊需求日常食用足以。
    要内网使用,特殊的字符需求,数据集小的 [tesseract]( https://github.com/tesseract-ocr/tesseract) 3.05 训练好了。
    数据集量够的话,可以看看深度学习的方法了:注意力+长短期记忆。
    herozhang
        22
    herozhang  
       2018-05-28 16:46:13 +08:00
    tesseract-ocr
    我这边用效果不错,据说 4.x 会更好。

    有个前提,图片扔给 ocr 之前需要做一些预处理,例如裁剪、对齐、颜色调整什么的,这样识别率才 ok。
    JCZ2MkKb5S8ZX9pq
        23
    JCZ2MkKb5S8ZX9pq  
       2018-05-28 17:07:15 +08:00
    之前搞直播答题外挂用的百度
    RicardoScofileld
        24
    RicardoScofileld  
    OP
       2018-05-28 17:19:40 +08:00
    @herozhang 请问有具体的 demo 吗,我试着用 PIL 处理,有时候处理后的效果比处理之前的好,有时候处理之后反而更不好了
    qianc1990
        25
    qianc1990  
       2018-05-28 17:23:10 +08:00
    tesseract-ocr 0.4 的中文识别效果好点, 我之前做的时候采用 ctpn 算法从文章把文字一行一行抠出来, 在送去识别, 经验证百度的效果更好. [:捂脸]
    chenuu
        26
    chenuu  
       2018-05-28 17:41:40 +08:00
    @RicardoScofileld 很便宜,月 1000 条免费,超出后每 1000 条 1.5 美元.效果不好说,没用过其他家的产品,除了手写的,其他的用谷歌很满意
    dbow
        27
    dbow  
       2018-05-28 17:53:02 +08:00
    tesseract-ocr 这东西需要你自己切图 + 标注, 对固定形态的文字其实效果还不错。
    yanzixuan
        28
    yanzixuan  
       2018-05-28 17:53:48 +08:00
    现在不是用神经网络来玩吗? keras 的 example 了解一下?
    hakaei
        29
    hakaei  
       2018-05-28 22:06:36 +08:00 via iPhone
    ctpn 可以很好的抠出横向排布的文字,接下来就是分词和识别的事了,但是 ctpn 对非水平文字效果不怎样,我最近也在研究 ocr 算法的问题,需求不能用 api (哎
    RicardoScofileld
        30
    RicardoScofileld  
    OP
       2018-05-29 09:33:21 +08:00
    @hakaei 那就只能研究 tesseract 了,我试试对图片做一些预处理,再试试训练一下样本数据看看效果怎么样
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   875 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:25 · PVG 04:25 · LAX 12:25 · JFK 15:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.