有的时候我们使用一些自动化脚本需要自动登录到一些网站做一些操作,提高工作的效率。但验证码是一个拦路虎,面对各种复杂的甚至连人都可能搞错的验证码,机器的自动识别往往变得异常艰难,与验证码的斗争使我们头疼不已。

好消息是,随着深度学习在图像识别领域的发展,采用神经网络对验证码图像自动提取特征,其识别精度往往让人惊叹。但是,这类方法依赖于海量样本,当样本的数量达不到一定规模时,其识别效果也大打折扣。数据获取和数据信息标注耗费了大量的人力物力,在实际生成应用中难以普遍的推广。

那么,问题来了,有没有什么办法可以自动的获取数据并进行标注呢?答案是:有!

验证码生成规律解析

收集一些验证码,如图所示:

上图验证码的来源和用途参考:全国增值税发票查验平台验证码识别

通过观察图片我们发现了以下规律:

验证码由6个字符(数字/字母/汉字)组成,包括4种颜色(红/黄/蓝/黑)。

验证码图片为宽90、高35的三通道RGB图像。

图片背景由两条随机曲线划分成多块,包含两种随机的背景颜色。

图片上有1-3根位置和长度都随机干扰线,颜色为绿色。

图片上大约有50个随机噪点,颜色随机。

所有字符有相似的大小和统一的字体(汉字和数字字母为两种不同字体)。

验证码图片生成——Captcha

python中有一款验证码生成的库captcha。pip install captcha

from captcha.image import ImageCaptcha

chars = 'haha'

image = ImageCaptcha().generate_image(chars)

image.show()

image.save("test.png")

效果如下:

这个ImageCaptcha类的generate_image,返回的是一个”PIL.Image.Image”对象,可知该验证码生成库是基于于PIL库的。于是,我们去查看ImageCaptcha类的源码:

class ImageCaptcha(_Captcha):

"""Create an image CAPTCHA.

Many of the codes are borrowed from wheezy.captcha, with a modification

for memory and developer friendly.

ImageCaptcha has one built-in font, DroidSansMono, which is licensed under

Apache License 2. You should always use your own fonts::

captcha = ImageCaptcha(fonts=['/path/to/A.ttf', '/path/to/B.ttf'])

You can put as many fonts as you like. But be aware of your memory, all of

python发票识别代码_python 发票验证码自动生成相关推荐

  1. python人脸识别代码_Python不用10行代码就可实现人脸识别,还可辨别真假,太棒了!...

    人脸识别技术大致由人脸检测和人脸识别两个环节组成.之所以要有人脸检测,不光是为了检测出照片上是否有人脸,更重要的是把照片中人脸无关的部分删掉,否则整张照片的像素都传给f(x)识别函数肯定就不可用了.人 ...

  2. python输入代码界面通常_vscode写python时的代码错误提醒和自动格式化的方法

    python的代码错误检查通常用pep8.pylint和flake8,自动格式化代码通常用autopep8.yapf.black.这些工具均可以利用pip进行安装,这里介绍传统的利用pip.exe安装 ...

  3. 使用Visual Studio宏来自动生成代码 [ Visual Studio | 宏 | 自动生成代码 ]

    前言 宏的定义:是组合到一起形成一个命令以自动完成某项任务的一系列命令和指令.(MSDN) 在使用Visual Studio宏实现JS折叠功能的时候就想过用它来实现代码自动生成,有了前面的基础,实现起 ...

  4. 发票识别 python_Python实现发票自动校核微信机器人的方法

    外地开了票到公司后发现信息有错误,无法报销: 公司的行政和财务经常在工作日被问及公司开票信息,影响心情和工作: 引入相应的专业APP来解决发票问题对于一般公司成本较高: 看到朋友孟要早睡写过脚本来解决 ...

  5. python文字识别库_python做文字识别一行代码都不用!

    今天,我们用Python实现对图像文字的识别,很简单!利用的库是pillow和pytesseract.pytesseract需要从网上下载,也很方便. 学习Python中有不明白推荐加入交流群 号:9 ...

  6. Python批量识别PDF文件格式发票信息并生成Excel表格

    最近有同学提问说,能不能讲一讲识别发票图片并整理数据到Excel里的方法.今天我们就针对这样的实际需求,分享一个基于 PDF 的 Python 办公自动化的解决案例. 先来看看需求. 需求描述 在某个 ...

  7. python验证码识别算法_Python网站验证码识别

    0x00 识别涉及技术 验证码识别涉及很多方面的内容.入手难度大,但是入手后,可拓展性又非常广泛,可玩性极强,成就感也很足. 验证码图像处理 验证码图像识别技术主要是操作图片内的像素点,通过对图片的像 ...

  8. python人脸检测代码_python实现人脸识别代码

    从实时视频流中识别出人脸区域,从原理上看,其依然属于机器学习的领域之一,本质上与谷歌利用深度学习识别出猫没有什么区别.程序通过大量的人脸图片数据进行训练,利用数学算法建立建立可靠的人脸特征模型,如此即 ...

  9. python调用摄像头人脸识别代码_Python使用 opencv调用笔记本摄像头进行人脸识别...

    首先需要导入opencv库pip install  -i https://pypi.tuna.tsinghua.edu.cn/simple/   opencv-python 上代码#万码学堂Pytho ...

最新文章

  1. 数据结构和算法:(2)时间复杂度和空间复杂度
  2. SQL SERVER 中如何用脚本管理作业
  3. canpro脚本_AE/PR脚本-创建编辑导入导出专业字幕脚本 Subtitle Pro 2.8.0 + 使用教程...
  4. .net core中使用autofac进行IOC
  5. 转 iOS socket
  6. xp IIS5配置mvc3运行环境
  7. labview获取窗口句柄_API---如何获得窗口句柄(HWND)
  8. 电脑键盘部分按键失灵_华硕笔记本键盘有部分按键失灵 - 卡饭网
  9. cfree5更新C++11特性
  10. 标志寄存器(PSW)
  11. 数据结构——学期总结
  12. 【成功】qlv转MP4,超简单方法
  13. HyperLedger Explorer 0.3.9环境搭建
  14. GenXus进行APP开发-全局颜色设计
  15. 微星显卡拷机测试软件,微星显卡拷机软件(MSI Kombustor)
  16. 百度地图框选标注坐标返回标注信息
  17. windwos下启动Redis或者Sentinel报错【listen:Unknown error】的原因及解决办法
  18. VLAN 虚拟局域网
  19. 通过MCU实现Altera FPGA在线升级
  20. 干货丨Python常用的1000+库大盘点

热门文章

  1. 照片直播 php,php直播源码,iOS 图片去背景
  2. Unity 使用最新的官方自带VR系统
  3. gps掩星计算matlab,GPS掩星资料变分同化模式的并行计算—在微机机群上的并行性能分析...
  4. 华硕FL5900U如何关闭ahci_华硕AX86U、TP XDR6060测试MUMIMO效果,AX86U无效果
  5. 谷歌浏览器 Doc 简介--Documents
  6. python看不懂代码_爬虫参考,看不懂呀。
  7. 计算机专业考研英语二国家线,近五年不同专业考研英语国家线分析:变化范围1~8分...
  8. 7-201 输出前n个英文大写字母
  9. Java_太阳系_行星模型_小游戏练习_详细注释
  10. 爬取拼多多数据,并保存本地excel