利用pytesseract包的API进行简单的OCR

原图

百度出来的一张验证码图案

结果

 

成功识别了验证码

环境配置

1. 安装库 

首先需要安装两个package,我们利用清华大学镜像源进行下载。在命令行输入以下命令

pip3 install opencv-contrib-python -i https://pypi.tuna.tsinghua.edu.cn/simple/
pip3 install pytesseract -i https://pypi.tuna.tsinghua.edu.cn/simple/

 等待片刻即可下载完毕。

2.安装tesseract-ocr

此后直接运行代码会提示:tesseract is not installed or it's not in your path。

这是因为还需下载tesseract-ocr。下载地址https://pan.baidu.com/s/1OL0g1MBzeijD23JN0UGC0Q

安装成功后,记住安装路径,例如我的路径为:E:\PyCharm\Tesseract-OCR

打开pytesseract.py文件,在该文件中找到以下代码,并且把等号中的内容改为tesseract.exe的路径

重新运行程序即可。
 

源码

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


def show(img):
    cv.imshow('show', img)
    cv.waitKey()
    cv.destroyAllWindows()


if __name__ == '__main__':
    src = cv.imread( 'E:\\PyCharm\OpenCV\Yanzhengma.jpg', 0)
    # show(src)
    ret, binary = cv.threshold(src, 200, 255, cv.THRESH_BINARY)
    kernel = cv.getStructuringElement(cv.MORPH_RECT, (3, 3))  # 生成卷积核
    open = cv.morphologyEx(binary, cv.MORPH_CLOSE, kernel)
    textImage = Image.fromarray(open)
    # show(open)
    text = tess.image_to_string(textImage)
    print(text)



程序首先利用opencv对图形进行了二值化与开运算,此后利用pytesseract进行了ocr并显示了结果

发布了38 篇原创文章 · 获赞 9 · 访问量 6299

猜你喜欢

转载自blog.csdn.net/qq_42138454/article/details/104159872
今日推荐