之前自己写了一个识别的,但是写的乱七八糟还有各种问题,后来看到有个zbar就拿来用了,一直是在linux下面的,直接到zbar官网下载源码安装就可以了,这是地址:
http://zbar.sourceforge.net/download.html,python相关包到PyPi下载就可以,这里:http://pypi.python.org/pypi/zbar。
linux下面安装好就可以用了不用配置。
下面重点说windows下面的:
先把两个软件都安装好。zbar-0.10.win32-py2.6.exe和zbar-0.10-setup.exe
还要进行如下配置才能使用:
进入zbar的安装目录(即zbar-0.10-setup.exe的安装目录),如我的是F:\Program Files\ZBar,搜索*.dll。见下图:
把搜索到的所有dll文件复制到F:\Python26或者F:\Python26\Lib\site-packages(如果放到其中一个目录不行就换另外一个目录试试)。路径视你的python安装目录而定。
配置完毕。
测试一下:
#!/usr/bin/env python
# coding: u8
import zbar
import Image
# create a reader
scanner = zbar.ImageScanner()
# configure the reader
scanner.parse_config('enable')
# obtain image data
pil = Image.open('./55.jpg').convert('L')
width, height = pil.size
#pil.show()
raw = pil.tostring()
# wrap image data
image = zbar.Image(width, height, 'Y800', raw)
# scan the image for barcodes
scanner.scan(image)
# extract results
for symbol in image:
# do something useful with results
print symbol.type, '图片内容为:\n%s' % symbol.data
# clean up
del(image)
看个图片吧: