首页 > 其他分享 >OpenCV 数字验证码识别

OpenCV 数字验证码识别

时间:2024-08-09 09:27:46浏览次数:9  
标签:tessdata 验证码 识别 OpenCV pytesseract import tesseract open cv

目录

一:依赖环境安装
二:安装tesseract-ocr
  (一)介绍
  (二)下载地址
  (三)下载traineddata训练数据
三:代码实现
在这里插入图片描述
在这里插入图片描述

一:依赖环境安装
pip install Pillow
pip3 install pytesseract
二:安装tesseract-ocr
(一)介绍
其中pytesseract会直接调用tesseract模块,我们需要进行安装
不然可会报错
pytesseract.TesseractNotFoundError: tesseract is not installed or it’s not in your path
(二)下载地址
github地址: https://github.com/tesseract-ocr/tesseract

在这里插入图片描述
在这里插入图片描述

(三)下载traineddata训练数据
github地址:https://github.com/tesseract-ocr/tessdata

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注意:我们还是要将其设置环境变量
pytesseract.TesseractError: (1, ‘Error opening data file \OtherEnv\tesseract-Win32\tessdata/eng.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your “tessdata” directory. Failed loading language ‘eng’ Tesseract couldn’t load any languages! Could not initialize tesseract.’)
在这里插入图片描述

现在我们重新启用cmd命令行,可以在cmd命令行调用python文件,获取到验证数据
在这里插入图片描述

但是我们在PyCharm中使用时还是需要修改python文件

在这里插入图片描述

在这里插入图片描述

还有在我们的程序文件中加入环境变量

os.environ['TESSDATA_PREFIX'] = "C:/OtherEnv/tesseract-Win32/tessdata"

三:代码实现

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

os.environ['TESSDATA_PREFIX'] = "C:/OtherEnv/tesseract-Win32/tessdata"

def recognize_text(image):
    gray = cv.cvtColor(image,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))
    mid1 = cv.morphologyEx(binary,cv.MORPH_OPEN,kernel)
    kernel = cv.getStructuringElement(cv.MORPH_RECT, (2,1))
    open_out = cv.morphologyEx(mid1, cv.MORPH_OPEN, kernel)
    cv.imshow("bin1",open_out)

    cv.bitwise_not(open_out,open_out)   #变白色背景
    textImage = Image.fromarray(open_out)

    text = tess.image_to_string(textImage)
    print("result:%s"%text)

src = cv.imread("./y4.png")  #读取图片
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)    #创建GUI窗口,形式为自适应
cv.imshow("input image",src)    #通过名字将图像和窗口联系

recognize_text(src)

cv.waitKey(0)   #等待用户操作,里面等待参数是毫秒,我们填写0,代表是永远,等待用户操作
cv.destroyAllWindows()  #销毁所有窗口

在这里插入图片描述

标签:tessdata,验证码,识别,OpenCV,pytesseract,import,tesseract,open,cv
From: https://blog.csdn.net/m0_37302966/article/details/141017232

相关文章

  • OpenCV 基本使用
    OpenCV基本使用参考教程:GitHub-gaoxiang12/slambook2:edition2oftheslambook1.安装OpenCV1.1下载OpenCV参考教程:无法定位软件包libjasper-dev的解决办法-CSDN博客视觉slam14讲ch5opencv安装ubuntu20.04_libvtk5-dev-CSDN博客OpenCV提供了大量的开源图像算......
  • 从我的演讲中识别出特定的单词
    我想实现一个可以在一个人后面重复某个单词的功能。例如:“说娃娃。”可以使用任何其他词来代替娃娃。重点是让助手准确地重复“doll”这个词我想用vosk模块来实现这个。我该怎么做呢?importjsonimportvoskimportpyaudioMODEL_PATH="vosk-model-small-en-us-0.15......
  • OpenCV专栏介绍
    在当今人工智能和计算机视觉领域,OpenCV作为一个功能强大的开源库,已经成为实现各种视觉算法的基石。本“OpenCV”专栏致力于帮助读者深入理解并掌握OpenCV的使用,从而在计算机视觉项目中发挥关键作用。专栏导读随着技术的不断进步,计算机视觉在自动驾驶、人脸识别、图像处理......
  • 基于YOLOv10深度学习的交通信号灯检测识别系统【python源码+Pyqt5界面+数据集+训练代
    《博主简介》小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~......
  • 图片表格内容识别转换-II - 华为机试真题题解(Java)
    考试平台:时习知分值:200分考试时间:两小时(共2题)题目描述华为云推出了“通用表格识别”服务,可以将图片表格转换成文本数据。请你将文本数据进一步转换为“文本型表格”,如下图所示:输入现给出一个图片表格的文本数据:每行数据形如line3col1A,表示第3行第1列的单......
  • 【YashanDB数据库】Mybatis-plus分页框架识别不到Yashandb
    问题描述Mybatis-plus无法识别Yashandb数据库,应用有如下报错。问题分析从Mybatis-plus源码里面看到,getDBtype函数是没有Yashandb的方言。当Yashandb使用mybatis-plus分页时候,会抛出异常即otherdatabasenotsupported。packagecom.baomidou.mybatisplus.extension.toolkit......
  • 工地安全帽智能识别系统 Python
    工地安全帽智能识别系统通过AI深度学习技术,工地安全帽智能识别系统实现对工地人员的安全帽反光衣穿戴进行自动实时识别和检测,当工地安全帽智能识别系统发现现场人员违规未按要求戴安全帽反光衣及不安全行为时,不需人为干预,工地安全帽智能识别系统自动抓拍触发告警,提醒安全管理人......
  • 河道治理漂浮物识别监测系统 YOLOv3
    河道治理漂浮物识别监测系统通过深度视觉分析技术,河道治理漂浮物识别监测系统实时检测着河道水面是否存在漂浮物、水浮莲以及生活垃圾等。河道治理漂浮物识别监测系统识别到河道水面存在水藻垃圾等漂浮物,系统立即抓拍存档并同步发出报警。河道治理漂浮物识别监测系统可以提升传......
  • 01 语音情感识别总纲
    01语音情感识别总纲目录1.重要性2.情感描述模型3.情感语音数据库4.语音情感特征4.1韵律特征......
  • python opencv图片简单操作
    一、从文件读取图片cv2.imread(filename,flags) 参数: filepath:读入image的完整路径 flags:标志位,{cv2.IMREAD_COLOR,cv2.IMREAD_GRAYSCALE,cv2.IMREAD_UNCHANGED} cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道,可用1作为实参替代 cv2.IMREAD_GRAYSCALE:读入......