用Python进行简单图像识别(验证码)

yipeiwu_com5年前Python基础

这是一个最简单的图像识别,将图片加载后直接利用Python的一个识别引擎进行识别

将图片中的数字通过 pytesseract.image_to_string(image)识别后将结果存入到本地的txt文件中

 #-*-encoding:utf-8-*-
 import pytesseract
 from PIL import Image
 
 class GetImageDate(object):
 def m(self):
  image = Image.open(u"C:\\a.png")
  text = pytesseract.image_to_string(image)
  return text
 
 def SaveResultToDocument(self):
  text = self.m()
  f = open(u"C:\\Verification.txt","w")
  print text
  f.write(str(text))
  f.close()
 
 g = GetImageDate()
 g.SaveResultToDocument()

具体想要实现上面的代码需要安装两个包和一个引擎
在安装之前需要先安装好Python,pip并配置好环境变量

所有包的安装都是通过pip来安装的,需要在windows PowerShell中进行,并且是在 C:\Python27\Scripts目录下

1.第一个包: pytesseract

pip install pytesseract

若是出现安装错误的情况,安装不了的时候,可以将命令改为 pip.exe install pytesseract来安装
若是将pip修改为pip.exe安装成功后,那么下文的所有pip都需要改为pip.exe

2.第二个包:PIL安装

pip install PIL

若是失败了可以如下修改 pip install PILLOW

3.安装识别引擎tesseract-ocr

下载 tesseract-ocr,进行默认安装
安装完成后需要配置环境变量,在系统变量path后增加 tesseract-ocr的安装地址C:\Program Files (x86)\Tesseract-OCR;
一切都安装完成后运行上述代码,会发现报错,此时需要

至此结束。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python递归遍历列表及输出的实现方法

本文实例讲述了Python递归遍历列表及输出的实现方法。分享给大家供大家参考。具体实现方法如下: def dp(s): if isinstance(s,(int,str)):...

python3 动态模块导入与全局变量使用实例

动态导入有两种: 1 __main__(): f="demo.A" aa=__main__(f) aa.A.t() 2 import importlib: import...

Python读写docx文件的方法

Python读写word文档有现成的库可以处理。我这里采用 python-docx。可以用pip install python-docx安装一下。 这里说一句,ppt和excel也有类似...

在python里协程使用同步锁Lock的实例

尽管asyncio库是使用单线程来实现协程的,但是它还是并发的,乱序执行的。可以说是单线程的调度系统,并且由于执行时有延时或者I/O中断等因素,每个协程如果同步时,还是得使用一些同步对象...

基于python实现在excel中读取与生成随机数写入excel中

基于python实现在excel中读取与生成随机数写入excel中

具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再生成随机数作为学生的考试成绩。 首先要用到的数据库有:xlwt,x...