用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中 Lambda表达式全面解析

什么是Lambda表达式 “Lambda 表达式”(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lam...

Python list与NumPy array 区分详解

1. 数据类型 type() #!/usr/bin/env python # -*- coding: utf-8 -*- # Yongqiang Cheng from __fut...

python 根据正则表达式提取指定的内容实例详解

python 根据正则表达式提取指定的内容 正则表达式是极其强大的,利用正则表达式来提取想要的内容是很方便的事。   下面演示了在python里,通过正则表达式来提...

PyQt5 实现给窗口设置背景图片的方法

PyQt5 实现给窗口设置背景图片的方法

QPalette类可以十分简单的达到设置窗口背景图片的目的 def use_palette(self): self.setWindowTitle("设置背景图片") wi...

深入解析Python中函数的参数与作用域

传递参数 函数传递参数时的一些简要的关键点: 参数的传递是通过自动将对象赋值给本地变量名来实现的。所有的参数实际上都是通过指针进行传递的,作为参数被传递的对象从来不自动拷贝。...