学习视频:python+opencv3.3视频教学 基础入门
其他学习记录:
Python+OpenCV(一)——基础操作
Python+OpenCV(二)——Numpy模块
Python+OpenCV(三)——色彩空间
Python+OpenCV(四)——像素运算
Python+OpenCV(五)——ROI和泛洪填充
Python+OpenCV(六)——均值/中值/自定义/高斯模糊、高斯噪声处理、高斯双边滤波
Python+OpenCV(七)——直方图及其应用
Python+OpenCV(八)——图像二值化
Python+OpenCV(九)——图像金字塔、图像梯度
Python+OpenCV(十)——Canny边缘提取
Python+OpenCV(十一)——直线检测、圆检测
Python+OpenCV(十二)——轮廓发现
Python+OpenCV(十三)——对象测量
Python+OpenCV(十四)——膨胀与腐蚀
Python+OpenCV(十五)——开闭操作
Python+OpenCV(十六)——顶帽、黑帽
Python+OpenCV(十七)——人脸识别
源码如下:
# -*- coding = utf-8 -*- # @Time : 2021/8/5 10:09 # @Author : 西兰花 # @File : OpenCV18.py # @Software : PyCharm """ 案例实战-数字/字母验证码识别 OpenCVH + Tesserct-OCR OpenCV预处理 Tesserct-OCR验证码识别 预处理–去除干扰线与点 不同的结构元素中选择 Image与numpy array相互转化 识别与输出 """ import cv2 as cv # 引入OpenCV模块 import pytesseract as tess from PIL import Image def recognzie_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, 2)) bin1 = cv.morphologyEx(binary, cv.MORPH_OPEN, kernel) kernel = cv.getStructuringElement(cv.MORPH_RECT, (2, 1)) open_out = cv.morphologyEx(bin1, cv.MORPH_OPEN, kernel) cv.imshow("binary_image", open_out) cv.bitwise_not(open_out, open_out) textImage = Image.fromarray(open_out) text = tess.image_to_string(textImage) print("识别结果: %s" % text) print("------ Hello OpenCV ------") src = cv.imread("C:/Users/Administrator/Pictures/PS/yzm4.png") # 读取图像 cv.imshow("input image", src) # 显示图像 recognzie_text() cv.waitKey(0) cv.destroyAllWindows() # 销毁/关闭所有窗口
输出结果:
(Tesserct安装失败,暂无调试结果)