图形验证码识别
Posted 阿星Plus
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图形验证码识别相关的知识,希望对你有一定的参考价值。
图形验证码识别技术
Tesseract
安装
Windows
Linux
sudo apt install tesseract-ocr
Mac
用Homebrew即可方便安装,brew install tesseract
设置环境变量
还有一个环境变量需要设置的是,要把训练的数据文件路径也放到环境变量中
在环境变量中,添加一个 TESSDATA_PREFIX=~~~\teseractdata
在命令行中使用tesseract识别图像
tesseract a.png a
在代码中使用tesseract识别图像
在Python代码中操作tesseract。需要安装一个库,叫做pytesseract。通过pip的方式即可安装:
pip install pytesseract
并且,需要读取图片,需要借助一个第三方库叫做PIL。通过pip list看下是否安装。如果没有安装,通过pip的方式安装:
pip install PIL
使用pytesseract将图片上的文字转换为文本文字
# 导入pytesseract库
import pytesseract
# 导入Image库
from PIL import Image
# 指定tesseract.exe所在的路径
pytesseract.pytesseract.tesseract_cmd = r'D:\Program Files\Tesseract-OCR\tesseract.exe'
# 打开图片
image = Image.open("a.png")
# 调用image_to_string将图片转换为文字
text = pytesseract.image_to_string(image, lang='chi_sim')
print(text)
用pytesseract自动识别图形验证码
import time
from urllib import request
import pytesseract
from PIL import Image
def main():
pytesseract.pytesseract.tesseract_cmd = r'D:\Program Files\Tesseract-OCR\tesseract.exe'
while True:
url = 'https://e.coding.net/api/getCaptcha'
request.urlretrieve(url, 'captcha.png')
image = Image.open('captcha.png')
text = pytesseract.image_to_string(image)
print(text)
time.sleep(2)
if __name__ == "__main__":
main()
以上是关于图形验证码识别的主要内容,如果未能解决你的问题,请参考以下文章
Python验证码识别:利用pytesser识别简单图形验证码