python 扫描二维码
生活随笔
收集整理的這篇文章主要介紹了
python 扫描二维码
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
二維碼(QR Code),使用平面圖案存儲信息,根據(jù)白0黑1的算機內(nèi)部邏輯,使用若干個與二進制相對應的幾何形體來表示文字數(shù)值信息,通過圖象輸入設備或光電掃描設備自動識讀以實現(xiàn)信息自動處理,記錄好所有數(shù)據(jù)后查詢Unicode表,將二進制編碼轉(zhuǎn)換成十六進制的編碼,最后找出該Unicode值相對應的文字。
Python識別二維碼信息
1.下載二維碼生成識別庫
2.cmd輸入pip路徑,輸入install+模塊/包名,等待自動安裝,也可以在pycharm里用Python解釋器安裝
3.我選用的是zxing解析庫,還需要安裝PIL,pillow和qrCode庫。
import os import logging from PIL import Image import zxing #導入解析包 import randomlogger = logging.getLogger(__name__) #記錄數(shù)據(jù)if not logger.handlers:logging.basicConfig(level = logging.INFO)DEBUG = (logging.getLevelName(logger.getEffectiveLevel()) == 'DEBUG') #記錄調(diào)式過程# 在當前目錄生成臨時文件,規(guī)避java的路徑問題 def ocr_qrcode_zxing(filename):img = Image.open(filename)ran = int(random.random() * 100000) #設置隨機數(shù)據(jù)的大小img.save('%s%s.jpg' % (os.path.basename(filename).split('.')[0], ran))zx = zxing.BarCodeReader() #調(diào)用zxing二維碼讀取包data = ''zxdata = zx.decode('%s%s.jpg' % (os.path.basename(filename).split('.')[0], ran)) #圖片解碼# 刪除臨時文件os.remove('%s%s.jpg' % (os.path.basename(filename).split('.')[0], ran))if zxdata:logger.debug(u'zxing識別二維碼:%s,內(nèi)容: %s' % (filename, zxdata))data = zxdataelse:logger.error(u'識別zxing二維碼出錯:%s' % (filename))img.save('%s-zxing.jpg' % filename)return data #返回記錄的內(nèi)容if __name__ == '__main__':filename = r'G:\TestDemo\venv\二維碼解析與生成\1536492016.png'# zxing二維碼識別ltext = ocr_qrcode_zxing(filename) #將圖片文件里的信息轉(zhuǎn)碼放到ltext里面logger.info(u'[%s]Zxing二維碼識別:[%s]!!!' % (filename, ltext)) #記錄文本信息print(ltext) #打印出二維碼名字總結
以上是生活随笔為你收集整理的python 扫描二维码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阿里如何实现海量数据实时分析?
- 下一篇: cocos2d-x : csb的加载