python实现opencv学习二十四:识别验证码

验证码识别前期准备:

1.安装:tesseract-oc,直接安装就行,要配环境,下载地址点这里

参考资料:点这里,再说一下,实测一定要配环境!!!

2.安装pytesseract:pip install pytesseract


3.之前pil,Pillow已经装过,如果没有安装PIL的:请看这里

4.我的环境:python2.7&opencv3.4

一般如果是按照我之前的博客来装的,应该没问题,如果有,请自行百度!我也是百度好久才调试成功的~

代码如下:

# -*- coding=GBK -*-
import cv2 as cv
import Image
import pytesseract


def recognize_text():
    gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
    ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY_INV | cv.THRESH_OTSU)
    kernel = cv.getStructuringElement(cv.MORPH_RECT, (1, 6))
    binl = cv.morphologyEx(binary, cv.MORPH_OPEN, kernel)
    kernel = cv.getStructuringElement(cv.MORPH_RECT, (5, 1))
    open_out = cv.morphologyEx(binl, cv.MORPH_OPEN, kernel)
    cv.bitwise_not(open_out, open_out)  # 背景变为白色
    cv.imshow("转换", open_out)
    textImage = Image.fromarray(open_out)
    text = pytesseract.image_to_string(textImage)
    print("This OK:%s"%text)


src = cv.imread("C://yzm.jpg")
cv.imshow("原来", src)
recognize_text()
cv.waitKey(0)
cv.destroyAllWindows()

运行结果:


扫描二维码关注公众号,回复: 1695884 查看本文章


                  OK  OK  OK   第一轮opencv课程学习到此结束                          




猜你喜欢

转载自blog.csdn.net/u011321546/article/details/79647179
今日推荐