敞开成长之旅!这是我参加「日新方案 2 月更文应战」的第 28 天,点击查看活动详情

验证码的首要目的是强制人机交互以反抗机器自动化攻击。大多数验证码规划者都不理解图画处理、机器视觉、模式辨认和人工智能的基本概念。 你能够经过使用验证码来赚钱。当然,你有必要违法:例如,招商银行的密码只要6位,验证码没有用。电脑能够快速破解一个丰富的账户,许多账户能够在网上交易。也有一些规划杰出的公司,如雅虎,谷歌,微软等。虽然国内腾讯的我国验证码很难,但并不好。 进程常识 具有人工智能、模式辨认、机器视觉和图画处理等方面的基本常识 首要工艺流程 例如,咱们需求从一张图片中辨认验证码;例如,咱们需求从一张图片中检测和辨认一张人脸。 1.图画捕获:关于验证码,直接经过HTTP抓取HTML,分析图画的URL,然后下载并保存。在进行人脸检测和辨认时,通常经过视频收集设备进行收集,并经过A/D转化操作保存为数字图片或视频。 2.预处理:检测正确的图画格局,转化为适当的格局,紧缩,切割ROI,去除噪声,灰度,并转化颜色空间。 3.检测:车牌检测辨认体系首要找到车牌的近似方位,面部检测体系查找图片中所有面孔(包括可疑面孔),验证码辨认首要是找出文本地点的首要区域。 4.预处理:人脸检测和辨认会在辨认前对人脸进行纠正,如平面内、平面外旋转、失真等。关于这儿的验证码辨认,“一般需求”被削减。 5.练习:经过各种模式辨认和机器学习算法,挑选和练习适当数量的练习集。这并不是说练习样本越多越好。在学习后,这儿可能会出现泛化才能较差的问题。这个过程是不必要的。有些辨认算法不需求练习。 6.辨认:输入待辨认的处理图画,将其转化为分类器所需的输入格局,然后依据输出类别和置信度确定可能的字母。辨认本质上是分类。

之前有个爬虫需求,但每次请求都需求进行验证码辨认,故需求ocr辨认,推荐一个Python免费的验证码辨认-ddddocr(谐音带带弟弟OCR)

装置

pip install ddddocr -i https://pypi.tuna.tsinghua.edu.cn/simple

Python实现验证码识别

参数说明

Python实现验证码识别

验证

随意找了一个验证码图片,使用这个库来实战一下。

Python实现验证码识别

import ddddocr
ocr = ddddocr.DdddOcr()
with open('1.png', 'rb') as f:    img_bytes = f.read()
res = ocr.classification(img_bytes)print(res)

Python实现验证码识别

成功辨认出来了验证码文字!而且优点也十分显着:首要代码十分精简,不需求额外设置环境变量等等,5行代码即可轻松辨认验证码图片。如果你需求进行验证码辨认,且对精度要求不是过高。那么,带带弟弟OCR(ddddocr)这个库是一个不错的挑选~