Python里使用zbar识别二维码

jopen 9年前

在CentOS7上安装了zbar,没有找到el7的rpm,只好自己编译。研究出编译时使用一些参数可以避免安装一些不必要的包。为了virtualenv里的python能用,编译时候要指定安装到/usr。

编译文件不多,一下就完了。步骤如下:

./configure –disable-video –without-qt –without-gtk –without-x –prefix=/usr
make
sudo make install

应该还需要安装ImageMagick,libjpeg-devel,zlib-devel之类的库,python环境里需要安装zbar和PIL。

上测试代码:

import zbar  from PIL import Image    scanner = zbar.ImageScanner()  scanner.parse_config('enable')  img = Image.open('./test.jpg').convert('L')  w, h = img.size  zimg = zbar.Image(w, h, 'Y800', img.tobytes())    scanner.scan(zimg)    for s in zimg:      print s.type, s.data

胶水语言就是强大,懂python的人应该能长寿。
识别速度觉得还可以,正确率非常高。基本上我的8w多的二维码都识别正确了。识别速度大概每秒几十张图吧,已经很满意。我的图片大小在10~50kb左右。


来自:http://xiaoxia.org/2015/11/05/zbar-scanner-python/