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之一个免费的实验室
Sep 14 Python
python映射列表实例分析
Jan 26 Python
Python实现的矩阵类实例
Aug 22 Python
使用Python的Django和layim实现即时通讯的方法
May 25 Python
解决pycharm运行出错,代码正确结果不显示的问题
Nov 30 Python
Python完成毫秒级抢淘宝大单功能
Jun 06 Python
python使用正则来处理各种匹配问题
Dec 22 Python
python的列表List求均值和中位数实例
Mar 03 Python
浅谈django 重载str 方法
May 19 Python
Python3合并两个有序数组代码实例
Aug 11 Python
Django限制API访问频率常用方法解析
Oct 12 Python
使用豆瓣源来安装python中的第三方库方法
Jan 26 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下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
使用eAccelerator加密PHP程序
2008/10/03 PHP
一步一步学习PHP(2)――PHP类型
2010/02/15 PHP
php去除换行(回车换行)的三种方法
2014/03/26 PHP
PHP输出两个数字中间有多少个回文数的方法
2015/03/23 PHP
php文件下载处理方法分析
2015/04/22 PHP
PHP回调函数简单用法示例
2019/05/08 PHP
一个JS翻页效果
2007/07/23 Javascript
javascript真的不难-回顾一下基础知识
2013/01/15 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
给easyui datebox扩展一个清空的实例
2016/11/09 Javascript
探究JavaScript中的五种事件处理程序方式
2016/12/07 Javascript
js实现登录验证码
2016/12/22 Javascript
自带气泡提示的vue校验插件(vue-verify-pop)
2017/04/07 Javascript
详解nodejs微信jssdk后端接口
2017/05/25 NodeJs
JS判断时间段的实现代码
2017/06/14 Javascript
JS点击缩略图整屏居中放大图片效果
2017/07/04 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
2017/12/25 Javascript
vue项目添加多页面配置的步骤详解
2019/05/22 Javascript
深入理解令牌认证机制(token)
2019/08/22 Javascript
JS实现横向轮播图(中级版)
2020/01/18 Javascript
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
[56:57]LGD vs VP 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第一场 8.20.mp4
2019/08/22 DOTA
对Python中创建进程的两种方式以及进程池详解
2019/01/14 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
大学生应聘自荐信
2013/10/11 职场文书
公司请假条格式
2014/04/11 职场文书
协会周年庆活动方案
2014/08/26 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
幼儿园见习总结
2015/06/23 职场文书