opencv-python数字验证码识别

opencv-python数字验证码识别_第1张图片

先来说一下遇到的问题

代码如果直接运行可能会报以下错误:

raise TesseractNotFoundError()
pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it's not in your PATH. See README file for more information.

这时候需要修改相应文件夹路径的名称

python的安装路径下的pytesseract

我是用anaconda创建的虚拟环境中,所以我的路径是:

D:\Anaconda\envs\pytorch\Lib\site-packages\pytesseract

opencv-python数字验证码识别_第2张图片

 找到安装的文件地址后,用文本编译器打开pytesseract.py文件,修改

将原来的   tesseract_cmd = 'tesseract' 改为OCR的安装路径下的tessract.exe

但是你连OCR都没有,肯定是找不到tessract.exe的,所以这时候需要写安装OCR

tessract.exe文件安装包下载,可自行在网上搜索这个文件安装

默认安装在C:\Program Files (x86)\Tesseract-OCR下面

这时候我们找到完整的路径

opencv-python数字验证码识别_第3张图片

C:\Program Files (x86)\Tesseract-OCR\tesseract.exe

复制到之前说的,用文本编译器打开pytesseract.py文件里面

opencv-python数字验证码识别_第4张图片

修改为

opencv-python数字验证码识别_第5张图片

结果还是报错:

pytesseract.pytesseract.TesseractNotFoundError: C:\Program Files (x86)\Tesseract-OCR    esseract.exe is not installed or it's not in your PATH. See README file for more information.

这时候查阅相关资料才发现,Tesseract-OCR需要和工程 安装到一个磁盘分区下面

于是我将安装的Tesseract-OCR 文件剪切到了D盘

opencv-python数字验证码识别_第6张图片

再次复制路径

D:\Tesseract-OCR\tesseract.exe

替换后的pytesseract.py文件里面文件内容

r是转义字符不能丢,下面就不会报错了。

完美运行

opencv-python数字验证码识别_第7张图片

不过有时候结果并不是特别准确

还是直接上代码把。

import cv2 as cv
import numpy as np
from PIL import Image
import pytesseract as tess

src = cv.imread('13.jpg')  # 导入图片
cv.imshow('13.jpg',src)    #显示原图

def recognize_text(image):             # 自定义验证码检测函数
    gray = cv.cvtColor(image, cv.COLOR_BGR2GRAY)   #灰度化
    ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)  #二值化
    kernel = cv.getStructuringElement(cv.MORPH_RECT, (3, 3))  #定义核方框
    result = cv.morphologyEx(binary, cv.MORPH_OPEN, kernel)   #形态学处理
    cv.imshow("binary_image",result)

    # cv.bitwise_not(result, result) 更改背景色
    textImage = Image.fromarray(result)                #将array转至image
    text = tess.image_to_string(textImage)             #将图片信息提取成文本
    print("识别结果:%s"%text)

recognize_text(src)
cv.waitKey(0)

记得点赞关注加收藏哦,更新不断!!!!!

 

你可能感兴趣的:(深度学习,python,图片处理,python,计算机视觉,目标检测)