亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

如何用Python生成二維碼、解析二維碼

瀏覽:17日期:2022-06-25 11:56:28
楔子

二維碼在我們的生活中可以說(shuō)是必不可少的,不單單是手機(jī)支付、其它很多地方也都需要掃描二維碼。那么下面我們就來(lái)看看如何使用python來(lái)生成二維碼、以及識(shí)別二維碼。

關(guān)于二維碼,我們來(lái)說(shuō)一下它的結(jié)構(gòu)。當(dāng)然關(guān)于二維碼的結(jié)構(gòu)其實(shí)不是太重要,這里只是提一下,沒(méi)興趣可以不用看。

如何用Python生成二維碼、解析二維碼

從圖中我們可以看出二維碼結(jié)構(gòu)整體劃分為功能圖形和編碼區(qū)兩大部分,功能圖形又細(xì)分為:空白區(qū)、位置探測(cè)圖形、位置探測(cè)圖形分隔符、定位圖形、校正圖形,而編碼區(qū)細(xì)分為:格式信息、版本信息、數(shù)據(jù)和糾錯(cuò)碼字,來(lái)簡(jiǎn)單了解一下每一部分的功能:

空白區(qū):留白,不需要做任何處理 位置探測(cè)圖形:協(xié)助掃描軟件定位二維碼碼 位置探測(cè)圖形分隔符:區(qū)分功能圖形和編碼區(qū) 定位圖形:指示標(biāo)識(shí)密度和確定坐標(biāo)系 校正圖形:校正圖形的數(shù)量和位置 格式信息:存放格式化數(shù)據(jù)的信息 版本信息:二維碼的規(guī)格,二維碼符號(hào)共有 40 種規(guī)格的矩陣 數(shù)據(jù)和糾錯(cuò)碼字:實(shí)際保存的二維碼信息和糾錯(cuò)碼字(用于修正二維碼損壞帶來(lái)的錯(cuò)誤) 生成二維碼

生成二維碼的話,python有兩個(gè)第三方模塊:qrcode和MyQR可以幫我我們生成二維碼,下面來(lái)看一下這兩個(gè)模塊的用法。

qrcode

生成比較簡(jiǎn)單的二維碼就是,當(dāng)我們掃描的時(shí)候,會(huì)自動(dòng)跳轉(zhuǎn)到某個(gè)頁(yè)面。

import qrcode # 調(diào)用QRCode,可以接收以下參數(shù)'''version: 二維碼的格子大小,可以是1到40。值越大,格子越大,一般不超過(guò)10,選擇3比較合適error_correction: 二維碼錯(cuò)誤容許率,默認(rèn)為qrcode.constants.ERROR_CORRECT_M,容許小于 15% 的錯(cuò)誤率 此外還有qrcode.constants.ERROR_CORRECT_L: 容許小于 7% 的錯(cuò)誤率 qrcode.constants.ROR_CORRECT_H: 容許小于 30% 的錯(cuò)誤率box_size: 二維碼每個(gè)小格子包含的像素?cái)?shù)量border: 二維碼到圖片邊框的小格子數(shù),默認(rèn)值為 4 '''qr = qrcode.QRCode() # 事實(shí)上里面的參數(shù)我們可以都不指定,默認(rèn)會(huì)選擇一個(gè)比較合適的參數(shù) # 調(diào)用add_data,指定url。qr.add_data('https://www.baidu.com/')# 生成二維碼圖像,顏色為藍(lán)色,背景色為粉色img = qr.make_image(fill_color=’blue’, back_color=’pink’)# 顯示圖像,這個(gè)會(huì)打開一個(gè)臨時(shí)文件img.show()# 此外,我們還可以保存到硬盤上img.save('1.png') # 事實(shí)上,這個(gè)img實(shí)際上是通過(guò)PIL模塊得到的,可以理解為里面Image對(duì)象# 如果你熟悉PIL模塊的話,那么你應(yīng)該知道可以將里面Image對(duì)象保存成圖片對(duì)應(yīng)的字節(jié)流from io import BytesIObuf = BytesIO()img.save(buf) # 將字節(jié)保存到buf里面with open('2.png', 'wb') as f: f.write(buf.getvalue()) # 和直接保存為1.png是一樣的

如何用Python生成二維碼、解析二維碼

此時(shí)我們就生成了一個(gè)二維碼,當(dāng)掃描該二維碼的時(shí)候就會(huì)跳轉(zhuǎn)到百度。

另外我們?cè)赼dd_data中指定的是一個(gè)url,我們也可以不指定url,而是指定一段文字。這樣的話,當(dāng)掃描的時(shí)候就會(huì)顯示我們輸入的文字。

MyQR

MyQR也可以用來(lái)生成二維碼,但是它和qrcode相比最大的特點(diǎn)就是它可以嵌入圖片當(dāng)背景。

from MyQR import myqr # 主要用到以下幾個(gè)參數(shù)# words:文本,可以是一個(gè)鏈接,或者你想說(shuō)的話(不支持中文,很不友好)# picture:你用到的圖片,作為背景,不然只是一個(gè)光禿禿的二維碼# colorsize:True,表示生成彩圖# save_name:表示生成的二維碼的名字myqr.run(words='http://www.bilibili.com', picture='satori.jpg', colorized=True, save_name='bilibili.png')

如何用Python生成二維碼、解析二維碼

當(dāng)掃這個(gè)二維碼的時(shí)候,就會(huì)跳轉(zhuǎn)到bilibili。指的一提的是,這里圖片,還可以使用gif格式的動(dòng)圖,當(dāng)然生成的圖片也要是gif格式的。

解析二維碼

我們除了可以使用python生成二維碼,還可以解析二維碼,解析二維碼也有兩個(gè)模塊,一個(gè)是zxing、一個(gè)是pyzbar。

首先是zxing,不過(guò)這個(gè)模塊有點(diǎn)讓人尷尬,因?yàn)檫@個(gè)模塊調(diào)用的是java的接口。也就是說(shuō)解析二維碼的底層工作是java做的,python是負(fù)責(zé)調(diào)用,所以使用這個(gè)模塊的時(shí)候需要你本地有java環(huán)境。所以我使用我阿里云上的centos進(jìn)行測(cè)試。

>>> import zxing>>> reader = zxing.BarCodeReader()>>> barcode = reader.decode(’bilibili.png’)>>> barcode.parsed’http://www.bilibili.com’ # 是可以解析出來(lái)的>>>

然后看看pyzbar模塊,這個(gè)模塊就不需要java了,直接使用python即可。

import numpy as npfrom PIL import Imagefrom pyzbar import pyzbar # 讀取文件,轉(zhuǎn)成數(shù)組im = np.array(Image.open('bilibili.png'))print(pyzbar.decode(im))# 返回的信息還是很多的'''[ Decoded(data=b’http://www.bilibili.com’, type=’QRCODE’, rect=Rect(left=35, top=35, width=263, height=264), polygon=[Point(x=35, y=35), Point(x=35, y=297), Point(x=297, y=299), Point(x=298, y=35)])]''' # 拿到內(nèi)容print(pyzbar.decode(im)[0].data.decode('utf-8')) # http://www.bilibili.com

兩個(gè)模塊都是可以正常解析的,以上就是python關(guān)于二維碼的一些操作。

以上就是如何用Python生成二維碼、解析二維碼的詳細(xì)內(nèi)容,更多關(guān)于Python生成二維碼、解析二維碼的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 欧美亚洲综合另类 | 精品国产自在2o18 | 五月伊人网 | 欧美一级性视频 | 成人观看的视频三级 | 国产 日韩 欧美 高清 | 欧美精品久久久亚洲 | 免看一级a一片成人123 | qyule极品视频在线一区 | 免费看一级a一片毛片 | 国产又爽又色在线观看 | 特级理论片 | asian极品呦女爱爱 | 亚洲福利在线观看 | 免费a级毛片在线播放 | 欧美成人福利视频 | 免费国产黄 | 欧美亚洲国产精品久久第一页 | 久久精品免看国产 | 欧美卡1卡2卡三卡网站入口 | 国产黄拍| 蜜桃臀在线成人亚洲 | 欧美一区二区三区精品国产 | 亚洲精品aⅴ中文字幕乱码 亚洲精品aaa | 亚洲欧洲日韩另类自拍 | 欧美一级毛片免费看视频 | 国产在线精品福利一区二区三区 | 欧美一级特黄刺激大片视频 | 欧美大片毛片aaa免费看 | 日本96在线精品视频免费观看 | 国模私拍福利视频在线透漏 | 国产五月色婷婷综合 | 国产人在线成免费视频麻豆 | 日本免费黄视频 | 日本高清毛片视频在线看 | 国产伦久视频免费观看 视频 | 丰满大乳女啪啪中文字幕 | 中国在线播放精品区 | 国产精品免费观看网站 | 免费黄色片在线 | 亚洲精品欧美精品一区二区 |