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实现线程池代码分享
Jun 21 Python
利用pyecharts实现地图可视化的例子
Aug 12 Python
python文件操作的简单方法总结
Nov 07 Python
django使用xadmin的全局配置详解
Nov 15 Python
python检查目录文件权限并修改目录文件权限的操作
Mar 11 Python
Python run()函数和start()函数的比较和差别介绍
May 03 Python
基于TensorFlow的CNN实现Mnist手写数字识别
Jun 17 Python
python字典key不能是可以是啥类型
Aug 04 Python
python开发一款翻译工具
Oct 10 Python
python里反向传播算法详解
Nov 22 Python
简单介绍Python的第三方库yaml
Jun 18 Python
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
Apr 06 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
第八节 访问方式 [8]
2006/10/09 PHP
国外十大最流行的PHP框架排名
2013/07/04 PHP
php中过滤非法字符的具体实现
2013/10/29 PHP
PHP+jQuery 注册模块开发详解
2014/10/14 PHP
php调整服务器时间的方法
2015/04/03 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
2015/08/31 PHP
简单谈谈 php 文件锁
2017/02/19 PHP
PHP获取远程http或ftp文件的md5值的方法
2019/04/15 PHP
[IE&amp;FireFox兼容]JS对select操作
2007/01/07 Javascript
js function使用心得
2010/05/10 Javascript
jquery 3D球状导航的文章分类
2010/07/06 Javascript
js 弹出菜单/窗口效果
2011/10/30 Javascript
用JavaScript实现类似于ListBox功能示例代码
2014/03/09 Javascript
浅析node.js中close事件
2014/11/26 Javascript
js实现倒计时效果(小于10补零)
2017/03/08 Javascript
layui弹出层效果实现代码
2017/05/19 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
2019/06/24 Javascript
vue实现选中效果
2020/10/07 Javascript
Python实现获取操作系统版本信息方法
2015/04/08 Python
利用numpy和pandas处理csv文件中的时间方法
2018/04/19 Python
python进行TCP端口扫描的实现
2018/12/21 Python
Python之列表实现栈的工作功能
2019/01/28 Python
钉钉群自定义机器人消息Python封装的实例
2019/02/20 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
Python 从subprocess运行的子进程中实时获取输出的例子
2019/08/14 Python
pycharm 设置项目的根目录教程
2020/02/12 Python
Django DRF认证组件流程实现原理详解
2020/08/17 Python
美国在线打印网站:Overnight Prints
2018/10/11 全球购物
中考标语大全
2014/06/05 职场文书
个人对照检查材料思想汇报(四风问题)
2014/09/25 职场文书
村干部四风问题整改措施
2014/09/30 职场文书
试用期辞职信范文
2015/03/02 职场文书
2015年大学班长个人工作总结
2015/04/24 职场文书
教师网络培训心得体会
2016/01/09 职场文书
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript