用tesseract实现图片验证码降噪识别
Posted python爬虫人工智能大数据
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用tesseract实现图片验证码降噪识别相关的知识,希望对你有一定的参考价值。
![用tesseract实现图片验证码降噪识别](https://image.cha138.com/20210501/07e0a94c36554026965678a43589b348.jpg)
文章结尾也有资料领取方式哦
开发平台:Linux,python3
导入库:pytesseract 、PIL
用tesserocr做图形验证码识别,下图分别是原始彩色图片,有干扰噪点,处理成灰度的图片,只有黑白的图片,我们最终用tesserocr就是通过第三个黑白图片进行识别
思路有了,开始代码,首先需要安装包,Linux下安装方式
1、sudo apt-get install tesseract-ocr(安装tesseract)
2、pip install pytesseract(python操作pytesseract)
1、对图片进行灰度处理
2、对图片进行二值化处理
普及下色彩基本理论:
灰度图像的每个像素点色值在0-255,0代表纯黑,255代表纯白,其实二值化的原理通俗说就是我们对灰度二维码图像做浅灰色统一设置为白色(255),深灰色统一设置为黑色(0),那么我们这个浅灰色和深灰色的临界值该怎么确定?在该案例中就是验证码的数字和背景交界处比较合适,背景的杂色我们认为是浅灰色,验证码数字我们认为是深灰色
我用ps吸取了图像上的临界处某点,色值是129,然后通过下面point方法和lambda函数做二值化处理,当然如果效果不理想的话,可以多测一些点,最终得到黑白图像
3、黑白图像识别
上一步得到img_two这个黑白图像,开始调用tesserocr里面的方法image_to_string将图片验证码转成字符串,并打印,打印结果文章开头已有
完整代码
本文讲述的是最基本的灰度处理和二值化处理以及验证码识别,更复杂的验证码则需要在图像处理上做很多操作,大家有兴趣可以找些更复杂的试试体验一下该方法
《》
本人经验有限,不足之处欢迎指正
python、django 、flask、数据分析、爬虫、运维、大数据、量化金融、机器学习、深度学习、自然语言处理、人工智能、电子书、php、ps、java、mysql、seo、ui
以上是关于用tesseract实现图片验证码降噪识别的主要内容,如果未能解决你的问题,请参考以下文章
python-使用内置库pytesseract实现图片验证码的识别