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
slwl
V2EX  ›  Python

求教, python 验证码识别

  •  
  •   slwl · 2016-12-22 09:40:38 +08:00 · 3877 次点击
    这是一个创建于 2894 天前的主题,其中的信息可能已经有所发展或是发生改变。

    QQ截图20161222093916.png

    这种类型的,有高人指点下思路没?

    16 条回复    2016-12-25 14:13:20 +08:00
    allenx
        1
    allenx  
       2016-12-22 09:53:56 +08:00
    大量样本+神经网络 , 切分加识别或者 end2end 解决
    yanzixuan
        2
    yanzixuan  
       2016-12-22 09:54:18 +08:00
    打码平台。。。
    slwl
        3
    slwl  
    OP
       2016-12-22 09:57:04 +08:00
    @yanzixuan 打码平台可以,试过了。不过速度太慢了。要差不多 10S 了。有没有快速的推荐呢
    slwl
        4
    slwl  
    OP
       2016-12-22 09:57:46 +08:00
    @allenx 每次的单个字母位置占比有区别,是不是不好切割
    harry890829
        5
    harry890829  
       2016-12-22 09:58:09 +08:00
    一般就是 opencv 来个二值化,然后再去噪点,然后再来大量样本
    jpyl0423
        6
    jpyl0423  
       2016-12-22 11:10:49 +08:00
    https://www.showapi.com/api/lookPoint/184
    刚才试了一下, 大概 1.2s 能识别完成.
    imcocc
        7
    imcocc  
       2016-12-22 11:11:38 +08:00 via iPhone
    @slwl http://www.deathbycaptcha.com/
    国外机器识别的平台 使用 api
    能够识别大部分的验证码
    enenaaa
        8
    enenaaa  
       2016-12-22 11:19:19 +08:00
    楼主想问的是切割粘连字符的思路吧。 看这图等比例切也行啊
    fffflyfish
        9
    fffflyfish  
       2016-12-22 11:21:14 +08:00
    Tyanboot
        10
    Tyanboot  
       2016-12-22 11:22:16 +08:00 via Android
    tesseract 训练一下?对应 pytesseract
    harry890829
        11
    harry890829  
       2016-12-22 11:24:42 +08:00
    @enenaaa 其实不需要等比例切啊,二值化之后,去掉部分噪点,然后通过一个算法,名字我忘记了,大致意思就是,一个黑像素点附近如果再没有别的像素点的话,可以判定这个是无效点,于是就将他置白。
    省下的就是一个相对好的图片了,再进行有效字符的截取,就是单个字符了,再去识别
    enenaaa
        12
    enenaaa  
       2016-12-22 11:29:58 +08:00
    @harry890829 如果字符不粘连,那投影后在空白处直接切割就可以。
    但楼主这图片里面, m 和 z , h 和 n 两两粘连, 就不能直接切割了。
    harry890829
        13
    harry890829  
       2016-12-22 11:44:57 +08:00
    @enenaaa 这倒是,对于验证码这样多字体的匹配,我也和楼上一样推荐 tesseract
    annian
        14
    annian  
       2016-12-22 14:33:35 +08:00
    提供 90%以上识别率,速度 1s 内的服务,需要可以联系
    TaMud
        15
    TaMud  
       2016-12-22 17:16:29 +08:00
    opencv find obj
    可以满足你的,准确率非常高
    只是对 cpu 要求也高
    返回对像含坐,按 x 坐标排一下就是结果
    mingyun
        16
    mingyun  
       2016-12-25 14:13:20 +08:00
    PIL pytesseract
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2723 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:40 · PVG 11:40 · LAX 19:40 · JFK 22:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.