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生成随机验证码(中文验证码)示例
Apr 03 Python
介绍Python中的一些高级编程技巧
Apr 02 Python
Python中生成器和yield语句的用法详解
Apr 17 Python
Python中查看文件名和文件路径
Mar 31 Python
django框架如何集成celery进行开发
May 24 Python
Pycharm无法使用已经安装Selenium的解决方法
Oct 13 Python
python远程邮件控制电脑升级版
May 23 Python
Python 把序列转换为元组的函数tuple方法
Jun 27 Python
Pycharm连接远程服务器并实现远程调试的实现
Aug 02 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
Dec 20 Python
pyautogui自动化控制鼠标和键盘操作的步骤
Apr 01 Python
Python OpenCV超详细讲解调整大小与图像操作的实现
Apr 02 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
PHP聊天室技术
2006/10/09 PHP
php下关于中英数字混排的字符串分割问题
2010/04/06 PHP
ThinkPHP中redirect用法分析
2014/12/05 PHP
typecho插件编写教程(三):保存配置
2015/05/28 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
2015/07/02 PHP
Laravel路由研究之domain解决多域名问题的方法示例
2019/04/04 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
javascript判断单选框或复选框是否选中方法集锦
2007/04/04 Javascript
js实现正方形颜色从下往上升的效果
2014/08/04 Javascript
JavaScript节点及列表操作实例小结
2015/08/05 Javascript
深入探讨前端框架react
2015/12/09 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
2016/05/26 Javascript
jQuery中使用animate自定义动画的方法
2016/05/29 Javascript
JavaScript实现简单的日历效果
2016/09/25 Javascript
jQuery模拟Marquee实现无缝滚动效果完整实例
2016/09/29 Javascript
JS代码实现百度地图 画圆 删除标注
2016/10/12 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
jQuery实现的点击按钮改变样式功能示例
2018/07/21 jQuery
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
python自动重试第三方包retrying模块的方法
2018/04/24 Python
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
Python实现的特征提取操作示例
2018/12/03 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
使用Python打造一款间谍程序的流程分析
2020/02/21 Python
python判断两个序列的成员是否一样的实例代码
2020/03/01 Python
Django 解决上传文件时,request.FILES为空的问题
2020/05/20 Python
HTML5之SVG 2D入门5—颜色的表示及定义方式
2013/01/30 HTML / CSS
别名指示符是什么
2012/10/08 面试题
幼儿园师德演讲稿
2014/05/06 职场文书
企业标语口号
2014/06/10 职场文书
会计学专业自荐信
2014/06/25 职场文书
保险公司演讲稿
2014/09/02 职场文书
2015年老干部工作总结
2015/04/23 职场文书
《认识年月日》教学反思
2016/02/19 职场文书
Java 写一个简单的图书管理系统
2022/04/26 Java/Android