用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 print输出不换行没空格的问题

今天在做编程题的时候发现Python的print输出默认换行输出,并且输出后有空格。 题目要求输出 122 而我的输出是: 1 2 2 于是我百度查到取消print自动换行的方法:就是在...

Python运行的17个时新手常见错误小结

1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxError :invalid syntax”)...

pytorch 状态字典:state_dict使用详解

pytorch 中的 state_dict 是一个简单的python的字典对象,将每一层与它的对应参数建立映射关系.(如model的每一层的weights及偏置等等) (注意,只有那些参...

Python基于Tensor FLow的图像处理操作详解

Python基于Tensor FLow的图像处理操作详解

本文实例讲述了Python基于Tensor FLow的图像处理操作。分享给大家供大家参考,具体如下: 在对图像进行深度学习时,有时可能图片的数量不足,或者希望网络进行更多的学习,这时可以...

Python中三元表达式的几种写法介绍

要介绍Python的三元表达式,可以先看看其他编程语言比如C,JAVA中应用: public class java { public static void main(String...