Python ocr 识别 - V2EX
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 6162 次点击
    这是一个创建于 2774 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在研究图片文字识别,贵族老爷们有没有什么好使的库推荐一发啊,试着用了用 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 能设计单行模式吗?
    lotmany
        4
    lotmany  
       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

    lotmany
        7
    lotmany  
       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 处理,有时候处理后的效果比处理之前的好,有时候处理之后反而更不好了
    LaFayette
        25
    LaFayette  
       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     Solana     2570 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 10:54 PVG 18:54 LAX 02:54 JFK 05:54
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86