首页 > 编程知识 正文

python识别验证码,python验证码生成

时间:2023-05-03 17:44:26 阅读:125610 作者:2540

使用测试如下。

1 .识别文字

2 .识别简单验证码

3 .识别银行卡

准备工作

1.pyTesseract库安装: pytesseract是tesseract的Python界面,可以直接在cmd中使用pip安装pytesseract进行安装

2 .在电脑上下载并安装tesseract,地址http://digi.bib.uni mannheim.de/tessera CT/tessera CT-ocr-setup-4.00.00 deder

确定积分后,完成安装,设定环境变量。

如果在CMD上输入Tesseract -v并显示以下接口,则表示tesseract已安装完成并已添加到系统变量中:

下载tesseract简体中文语言包。 下载地址为https://github.com/tessera CT-ocr/Tess data/find/master/chi _ sim.trained data,还有Chi

做好准备工作就可以实现OCR文字识别了,代码非常简单:

importpytesseractfrompilimportimageimportcv 2img=image.open ('0. jpg ' ) text=pytesseract.image _ to _ string ) ) lang='chi_sim ' ) pytesseract.pytesseract.tessera CT _ cmd=' c ://program files (x86 )/tessera CT-ocr/tocr

运行结果如下

如果发生错误:

pytesseract.pytesseract.tesseracterror : (1,‘erroropeningdatafile (程序文件) x86 )Tesseract-OCR ) ) ) ) ) ) ) ) chi _ sim.traineddatapleasemakesurethetessdata _ prefixenvironmentvariableissettoyour“Tess datoyour

请转到本文: https://blog.csdn.net/weixin _ 43746433/article/details/89922155

2.笔者突然想到,利用Ocr 能不能识别简单的验证码呢?

于是我在网上随便找了验证码。 图:6.png:

运行结果并不令人满意,

为了更好地处理图像,可以将图像转换为灰度图像,去除黑点以进行二值化降噪。

代码如下。

importpytesseractfrompilimportimage,ImageEnhance, imagefilterimportcv 2img=image.open (6. png ) ) text=pyteseract lang=' chi _ sim ' (打印(文本)图像为灰色img _ gray ode_grave黑白图像img _ black _ white=img _ gray.point (lambdax : ifx 200 else 255 ) PIC1='./tmp/转换为code _ black _ white.png pil (在pythonimagelibrary (中im=image.open ) pic1 ) im=im.filter ) image filter.median fing ance(2) im=im.convert ) (1) (im.save )./tmp/JiangZao.png ) (#im.show ) (pytesserave ) ) Jiang Zao . lang='eng数字text=pytesseract.image _ to _ string (im,lang='chi_sim ' ) print )的执行结果如下,成功!3.如果利用ocr识别银行卡呢?

修正图像如下

执行结果如下。

银行卡识别结果相当差,这涉及更深层次的opencv知识,笔者将在下一篇详细论述如何使用opencv和python进行信用卡识别

参考文献“:

1.https://blog.csdn.net/JC Lian 91/article/details/80628188

2.https://segment fault.com/q/10100005686388

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。