python生成和解析二維碼

python生成二維碼,經常使用的模塊有pyqrencode和qrcode。python


1、用pyqrencode模塊生成二維碼linux


安裝pyqrencode模塊很複雜,依賴的東西也比較多,通過測試總結如下安裝過程:git


一、下載Cython:https://pypi.python.org/packages/source/C/Cython/Cython-0.19.1.tar.gzgithub

安裝:tar -zxf Cython-0.19.1.tar.gz && cd Cython-0.19.1 && python setup.py installide


二、下載qrencode:http://fukuchi.org/works/qrencode/qrencode-3.4.2.tar.gz測試

安裝前確認安裝了yum install libpng-devel -ycode

安裝:tar -zxf qrencode-3.4.2.tar.gz && cd qrencode-3.4.2 && ./configure && make && make installip


三、下載Imaging:http://effbot.org/media/downloads/Imaging-1.1.7.tar.gzget

安裝:tar -zxf Imaging-1.1.7.tar.gz && cd Imaging-1.1.7 && python setup.py installstring


四、下載:https://codeload.github.com/bitly/pyqrencode/zip/master

安裝:

unzip -q pyqrencode-master.zip

cd pyqrencode-master

easy_install cython

cython qrencode.pyx

python setup.py install

echo "/usr/local/lib">>/etc/ld.so.conf

ldconfig


五、用pyqrencode生成二維碼

>>> from qrencode import Encoder

>>> encoder = Encoder()

>>> img = encoder.encode("hello python!", {'width':300})

>>> img.save("char.png")

char.png就是生成的二維碼文件


2、用qrcode模塊生成二維碼


一、下載:https://pypi.python.org/packages/source/q/qrcode/qrcode-2.0.tar.gz

二、安裝:tar -zxf qrcode-2.0.tar.gz && cd qrcode-2.0 && python setup.py install

三、用qrcode生成二維碼

>>> import qrcode

>>> q=qrcode.main.QRCode()

>>> q.add_data("hello python!")

>>> q.make()

>>> m=q.make_p_w_picpath()

>>> m.save('char.png')


3、二維碼的識別


解析二維碼用到zbar模塊,改模塊在windowns下面是exe文件直接安裝,比較簡單,在linux下依賴的包比較多,安裝過程就不在介紹,使用方法以下:

def get_QR():
    scanner = zbar.ImageScanner()
    scanner.parse_config("enable")
    pil = Image.open("char.png").convert('L')
    width, height = pil.size
    raw = pil.tostring()
    p_w_picpath = zbar.Image(width, height, 'Y800', raw)
    scanner.scan(p_w_picpath)
    data = ''
    for symbol in p_w_picpath:
        data+=symbol.data
    del(p_w_picpath)
    return data

data就是二維的內容

相關文章
相關標籤/搜索