Python_python图片识别小程序
来源:互联网 发布:陕西省软件协会网站 编辑:程序博客网 时间:2024/09/21 11:18
之前看了,网上一些python 图片识别的小程序。自己也试着写个来测试下!
运行环境 Linux CentOS +python 2.7 +PIL库+ Tesseract3.0+pytesser
环境搭建:
Linux下安装python就不说了,这里主要说如何安装pytesser,PIL和Tesseract
1.检查系统是否已经安装以下库:
libpng , libjpeg ,libtiff,zlibg-dev
#yum list | grep libpng
#yum list | grep libjpeg
#yum list | grep libtiff
#yum list | grep zlibg
没安装上就安装:
#yum install libpng
#yum install libjpeg
#yum install libtiff
#yum install zlibg
2.安装Tesseract:
下载最新版Tesseract,下载地址http://code.google.com/p/tesseract-ocr/downloads/list 我下载的是3.0版本。
解压压缩包:
#tar -zxvf tesseract-3.00.tar.gz
进入解压后的文件夹:
#cd tesseract-3.00
安装:
#./configure --prefix=/opt/tesseract #使用--prefix 来指定安装的目录,我这里的安装目录是/opt/tesseract
#make
#make install
安装完成后要配置PATH,修改用户home目录下的 .profile或者.bash-profile我这里是修改.bash-profile。在PATH那里加上 以下内容。
:/opt/tesseract/bin
令配置文件生效:
#. .bash-profile
3.安装PIL:
到PIL首页下载适合你的python版本的PIL:http://www.pythonware.com/products/pil/
我python是2.7版本的,下载地址是:http://effbot.org/downloads/Imaging-1.1.7.tar.gz
解压压缩包:
#tar -zxvf Imaging-1.1.7.tar.gz
进入解压后的文件夹:
#cd Imaging-1.1.7
安装:
#python setup.py install
4.安装pytesser:
下载pytesser:http://pytesser.googlecode.com/files/pytesser_v0.0.1.zip 目前只有一个版本。
解压压缩包:
#unzip pytesser_v0.0.1.zip
建议创建一个文件夹,把压缩包放到文件夹里在解压,因为直接使用unzip来解压会把压缩包里的东西解压到当前目录,不易管理。
5.测试:
在pytesser目录下创建img_to_text.py内容如下:
from pytesser import * #导入pytesser文件
def img_to_text(filename):img = Image.open(filename) #读取图片文件
img.load() #这里要是不用load()方法,有时会提示找不到object。
if len(img.split())==4: #这里主要把图片的model分离
r,g,b,a = img.split() #把图片的4个model或是通道付给r,g,b,a(r红色通道,g绿色通道,b蓝色通道,a透明alpha 通道),PIL在bmp图片是不支持a通道的。而图片识别,是先要把图片转换成bmp格式在进行识别的。
img = Image.merge("RGB",(r,g,b)) #去掉a通道,重新组合图片。return image_to_string(img) #调用pytesser中的image_to_string()方法,进行图文转换。方法中用到了tesseract引擎。
if __name__ == '__main__':
img_to_text()
print "OK"
测试:
我这里那了几张网上商城的价格图片进行识别:
上图是原图:
¥符号不能识别,不过对数字部分没影响。
测试别的图片:
这张通过转换成bmp再识别的图片可以识别出¥符合。不过有时就算转换成bmp图片也是不能识别出¥符号。
不过要获取价格可以截取string第3个字符之后的字符。也就是获取string[2]及其后的字符了。
参考文章: http://www.daniweb.com/software-development/python/threads/253957
http://wenyue.me/blog/282 Linux下使用pytesser
ps:Tesseract 提供多国语言库,可以到文章中Tesseract的下载页面下载。
- Python_python图片识别小程序
- python图片识别小程序
- Python_Python图片对比
- 识别编码的小程序
- matlab车牌识别小程序
- 小程序 语音识别(一)
- 小程序图片上传
- 小程序图片预览
- python_Python小技巧之除法运算、幂运算
- 验证码识别的小程序源码
- SVM手写字符识别小程序
- 七夕手势识别小程序,献给爱人
- 简单的车牌识别预处理小程序
- 小程序 语音识别(二)
- 小程序 语音识别(三)
- 分享一个网上的图片识别程序
- 图片验证码识别程序全面分析
- js图片漂浮小程序
- The Retro Brick:iPhone一秒变大哥大
- ACE-ACE简介
- 利用TinyXml重设FileZilla用户密码
- POJ 3604 Professor Ben 数论
- document.getElementById("id").onclick=tt
- Python_python图片识别小程序
- 在导出本地文件时报了ABAP错误
- 简单设置U盘的可写性
- 一种关闭TCP连接的方法
- 如何学习——让你的学习高效率
- Qt制作Skin(皮肤)总结
- cdev、file operations 结构体
- malloc,free和new,delete的区别
- 简单枚举网卡信息