二維碼解析
Python中關於二維碼解析的現成模塊有很多,比較著名的就是Zbar以及ZXing.然而很不幸的是,官方的版本都是支持到python2.x,下面是在python2.x的例子:
import zbar def get_QR(): scanner = zbar.ImageScanner() scanner.parse_config("enable") pil = Image.open("char.png").convert('L') width, height = pil.size raw = pil.tostring() image = zbar.Image(width, height, 'Y800', raw) scanner.scan(image) data = '' for symbol in image: data+=symbol.data del(image) return data
其中 data就是我們需要的已經解析得到的內容。
直接pip install zbar可能會出錯,可以下載exe安裝,下載的地址為:https://github.com/jacobvalenta/zbar-py27-msi/blob/master/zbar-0.10.win32-py2.7_2.msi
查閱了相關資料,關於Python3.x的zbar適配已經有人放出來了,叫做zbarlight,我嘗試按照作者的的步驟執行,卻發生了一些麻煩,最終沒有完成。作者關於win平台上的支持還沒有足夠重視。
http://zbar.sourceforge.net/這是zbar的win軟件版本,運行之后,我們可以直接使用命令行形式解析二維碼圖片。
zbarimg -d http://7xowaa.com1.z0.glb.clouddn.com/qrcode.jpg
zbar分為zbarimg和zbarcam分別對應圖片格式、攝像頭格式,攝像頭形式在win平台不太管用,圖片格式可以填寫本地圖片文件名,也可以使用URL.
效果圖