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 25 Python
总结python实现父类调用两种方法的不同
Jan 15 Python
Python第三方Window模块文件的几种安装方法
Nov 22 Python
Linux CentOS Python开发环境搭建教程
Nov 28 Python
python开发之anaconda以及win7下安装gensim的方法
Jul 05 Python
Django MEDIA的配置及用法详解
Jul 25 Python
Django ORM多对多查询方法(自定义第三张表&amp;ManyToManyField)
Aug 09 Python
基于python的列表list和集合set操作
Nov 24 Python
对Tensorflow中Device实例的生成和管理详解
Feb 04 Python
Python基于Tkinter开发一个爬取B站直播弹幕的工具
May 06 Python
PyTorch中permute的使用方法
Apr 26 Python
python index() 与 rindex() 方法的使用示例详解
Dec 24 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
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
让你的PHP同时支持GIF、png、JPEG
2006/10/09 PHP
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
2014/01/14 PHP
php 获取SWF动画截图示例代码
2014/02/10 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
使用composer安装使用thinkphp6.0框架问题【视频教程】
2019/10/01 PHP
jQuery 树形结构的选择器
2010/02/15 Javascript
jquery下jstree简单应用 - v1.0
2011/04/14 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
JQuery中的html()、text()、val()区别示例介绍
2014/09/01 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
jquery实现键盘左右翻页特效
2015/04/30 Javascript
使用Node.js实现HTTP 206内容分片的教程
2015/06/23 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
基于vue实现web端超大数据量表格的卡顿解决
2019/04/02 Javascript
在layer弹层layer.prompt中,修改placeholder的实现方法
2019/09/27 Javascript
JS实现电脑虚拟键盘打字测试
2020/06/24 Javascript
[01:10:58]KG vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
分析在Python中何种情况下需要使用断言
2015/04/01 Python
Python在图片中添加文字的两种方法
2017/04/29 Python
利用Python代码实现数据可视化的5种方法详解
2018/03/25 Python
解决python 无法加载downsample模型的问题
2018/10/25 Python
对Python3中bytes和HexStr之间的转换详解
2018/12/04 Python
python pygame实现滚动横版射击游戏城市之战
2019/11/25 Python
Python3 元组tuple入门基础
2020/02/09 Python
将keras的h5模型转换为tensorflow的pb模型操作
2020/05/25 Python
python分布式爬虫中消息队列知识点详解
2020/11/26 Python
简洁自适应404页面HTML好看的404源码
2020/12/16 HTML / CSS
Photobook澳大利亚:制作相片书,婚礼卡,旅行相簿
2017/01/12 全球购物
初中班主任寄语
2014/04/04 职场文书
科长竞争上岗演讲稿
2014/05/12 职场文书
JavaScript的Set数据结构详解
2022/02/18 Javascript