Python编程实现的图片识别功能示例


Posted in Python onAugust 03, 2017

本文实例讲述了Python编程实现的图片识别功能。分享给大家供大家参考,具体如下:

1. 安装PIL,官方没有WIN64位,Pillow替代

pip install Pillow-2.7.0-cp27-none-win_amd64.whl

2. 安装Pytesser

下载pytesser_v0.0.1.zip,解压后复制进Python27\Lib\site-packges\pytesser路径下,无pytesser则新建

在Python27\Lib\site-packges\pytesser中新建一pytesser.pth文件,内容为pytesser

在pytesser内,修改三点

① pytesser.py修改成__init.py__

② 修改pytesser.py

import Image

 改为

from PIL import Image

tesseract_exe_name = 'tesseract' 改为tesseract_exe_name = 'Python27\\Lib\\site-packges\\pytesser\\tesseract' 注意\转义

③ 安装Tesseract

下载Tesseract OCR engine:http://code.google.com/p/tesseract-ocr/ ,

下载后解压,找到tessdata文件夹,用其替换掉pytesser解压后的tessdata文件夹即可。

不过除了测试用验证码之外,其余的系统验证码的识别率很低。

附测试代码

from pytesser import *
from PIL import Image, ImageEnhance
im = Image.open('D:\Python27\Lib\site-packages\pytesser\phototest.tif')
im2 = Image.open(r'D:\Python27\Lib\site-packages\pytesser\fnord.tif','r')
im3 = Image.open(r'F:\PROJECT\python\code\Study_1\src\20170424\cp.jpg','r') #文件读写模式以防报错
#图片处理1::黑白处理
enhancer = ImageEnhance.Contrast(im3)
image2 = enhancer.enhance(5)
image2.show()
print image_to_string(image2)
#图片处理2: 降噪处理
imgry = im3.convert('L')  #灰度处理
#灰度处理基础上二值化处理
threshold = 140
table = []
for i in range(256):
  if i < threshold:
    table.append(0)
  else:
    table.append(1)
out = imgry.point(table, '1')
out.show()
text = image_to_string(out)
if text.isspace() :
  print "FAILE"
else:
  print text
#print text

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python实现的一个火车票转让信息采集器
Jul 09 Python
实例讲解Python中SocketServer模块处理网络请求的用法
Jun 28 Python
Python绑定方法与非绑定方法详解
Aug 18 Python
django实现用户登陆功能详解
Dec 11 Python
VSCode下好用的Python插件及配置
Apr 06 Python
详解Python中正则匹配TAB及空格的小技巧
Jul 26 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
Aug 23 Python
使用 Python 写一个简易的抽奖程序
Dec 08 Python
Pytorch之finetune使用详解
Jan 18 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
Jun 03 Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
Jun 23 Python
python利用while求100内的整数和方式
Nov 07 Python
详解python实现读取邮件数据并下载附件的实例
Aug 03 #Python
详解 Python中LEGB和闭包及装饰器
Aug 03 #Python
Python 爬虫之超链接 url中含有中文出错及解决办法
Aug 03 #Python
python中MethodType方法介绍与使用示例
Aug 03 #Python
初学python的操作难点总结(新手必看篇)
Aug 03 #Python
python 禁止函数修改列表的实现方法
Aug 03 #Python
详解Python函数可变参数定义及其参数传递方式
Aug 02 #Python
You might like
用IE远程创建Mysql数据库的简易程序
2006/10/09 PHP
PHP 类商品秒杀计时实现代码
2010/05/05 PHP
php获取操作系统语言代码
2013/11/04 PHP
用php简单实现加减乘除计算器
2014/01/06 PHP
Javascript - HTML的request类
2006/07/15 Javascript
IE下使用cloneNode注意事项分享
2012/11/22 Javascript
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
2013/09/16 Javascript
jQuery对Select的操作大集合(收藏)
2013/12/28 Javascript
jQuery实现鼠标可拖动调整表格列宽度
2014/05/26 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
jquery判断checkbox是否选中及改变checkbox状态的实现方法
2016/05/26 Javascript
bootstrap组件之按钮式下拉菜单小结
2017/01/19 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
走进AngularJs之过滤器(filter)详解
2017/02/17 Javascript
vue2.0实现导航菜单切换效果
2017/05/08 Javascript
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
JavaScript中的事件与异常捕获详析
2019/02/24 Javascript
解决vue无法侦听数组及对象属性的变化问题
2020/07/17 Javascript
Python深入06——python的内存管理详解
2016/12/07 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
2017/08/31 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
使用python实现快速搭建简易的FTP服务器
2018/09/12 Python
PyQt5创建一个新窗口的实例
2019/06/20 Python
浅谈Python3实现两个矩形的交并比(IoU)
2020/01/18 Python
Python3合并两个有序数组代码实例
2020/08/11 Python
Python plt 利用subplot 实现在一张画布同时画多张图
2021/02/26 Python
让IE可以变相支持CSS3选择器
2010/01/21 HTML / CSS
html5 application cache遇到的严重问题
2012/12/26 HTML / CSS
Hudson Jeans官网:高级精制牛仔裤
2018/11/28 全球购物
澳大利亚买卖正宗二手奢侈品交易平台:Luxe.It.Fwd
2019/10/16 全球购物
Geekbuying波兰:购买中国电子产品
2019/10/20 全球购物
幼儿园家长会邀请函
2014/01/15 职场文书
教师节标语大全
2014/10/07 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
MongoDB安装使用并实现Python操作数据库
2021/06/28 MongoDB
MySQL数据库如何使用Shell进行连接
2022/04/12 MySQL