版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第詳解Python如何生成優(yōu)雅的二維碼目錄一、使用MyQR生成二維碼(1)模塊安裝(2)生成一個圖像二維碼二、使用qrcode生成二維碼(1)模塊安裝(2)更準確的生成二維碼(3)讀取二維碼中的數(shù)據(jù)二維碼作為一種信息傳遞的工具,在當今社會發(fā)揮了重要作用。從手機用戶登錄到手機支付,生活的各個角落都能看到二維碼的存在,那么我們?nèi)绾巫约荷梢粋€二維碼呢?如果使用Python,我們可以很快的生成一個二維碼,我們可以自己定義二維碼包含的信息。這些信息可以是文字、圖片,也可以是網(wǎng)站。下面我們就來看看如何生成一個二維碼。
一、使用MyQR生成二維碼
生成二維碼的方式多種多樣,我們先來看看使用MyQR模塊如何生成一個二維碼。
(1)模塊安裝
在開始使用之前我們需要先安裝該模塊。這里使用pip直接下載,這里選用的是國內(nèi)的源:
pipinstall-i/simple/myqr
安裝完成后我們就可以開始使用了。先生成一個最簡單的二維碼:
fromMyQRimportmyqr#注意區(qū)分大小寫
myqr.run(words='Donotgogentleintothatgoodnight!')#生成二維碼
在我們運行這個程序后,py文件同目錄下會生成圖片qrcode.png,該圖片就是我們的二維碼圖片,掃出來就是我們上面設置的文本信息了。
(2)生成一個圖像二維碼
我們?nèi)粘I钪械亩S碼都比較單調(diào),有純二維碼,整個二維碼只有黑白方塊;也有帶圖片的二維碼,通常是在二維碼中心放置一個圖片,而我們現(xiàn)在要做的是一個整體是一張圖片的二維碼。也就是將一張圖片作為背景。這種二維碼實現(xiàn)起來也非常簡單:
fromMyQRimportmyqr
myqr.run(
words='',#包含信息
picture='lbxx.jpg',#背景圖片
colorized=True,#是否有顏色,如果為False則為黑白
save_name='code.png'#輸出文件名
生成二維碼效果如下:
可以看到,這里我們二維碼包含的信息是一個網(wǎng)址,這個時候我們掃描二維碼會直接跳轉(zhuǎn)網(wǎng)頁。代碼一樣我們只需要將picture參數(shù)設置為一張動圖,另外輸出文件后綴改為gif即可:
二、使用qrcode生成二維碼
qrcode同樣是一個便捷的工具,使用該模塊我們也能夠很快的實現(xiàn)二維碼的生成。
(1)模塊安裝
這里同樣使用pip安裝,我們在命令行窗口執(zhí)行下列語句:
pipinstall-i/simple/qrcode
安裝完成后我們就可以開始生成我們的第一個二維碼了:
importqrcode
img=qrcode.make('')
img.save('qrcode.jpg')
在我們調(diào)用save方法后,項目下就會生成一張qrcode.png圖片,該圖片就是我們的二維碼圖片,我們掃出來同樣是直接跳轉(zhuǎn)網(wǎng)頁。
(2)更準確的生成二維碼
除了上面的方式,我們還可以通過QRCode類來生成二維碼,這種方式我們可以控制二維碼的更多信息:
fromqrcodeimportQRCode
qr=QRCode()#創(chuàng)建二維碼對象
qr.add_data('')#設置二維碼數(shù)據(jù)
img=qr.make_image()#創(chuàng)建二維碼圖片
img.save('qrcode.png')#保存二維碼圖片
通過這種方式我們同樣可以生成一個二維碼,當然我們還可以豐富一下:
importqrcode
qr=qrcode.QRCode(
version=5,#二維碼的大小,取值1-40
box_size=10,#二維碼最小正方形的像素數(shù)量
error_correction=qrcode.constants.ERROR_CORRECT_H,#二維碼的糾錯等級
border=5#白色邊框的大小
qr.add_data('')#設置二維碼數(shù)據(jù)
img=qr.make_image()#創(chuàng)建二維碼圖片
img.save('qrcode.png')#保存二維碼
其中version包含了大小信息,當設置為1時,生成一個12x12大小的二維碼,單位為box_size個像素。
我們可以將version設置為None,并添加一句qr.make(fit=True),這樣程序會自動生成大小合適的二維碼。
另外error_correction為糾錯等級的設置,糾錯等級是什么這就是關(guān)于二維碼本身的知識了。
ERROR_CORRECT_L:大約7%或更少的錯誤能被糾正。ERROR_CORRECT_M(默認):大約15%或更少的錯誤能被糾正。ROR_CORRECT_H:大約30%或更少的錯誤能被糾正。
上面是可以供我們選擇的幾個內(nèi)置常數(shù)。
(3)讀取二維碼中的數(shù)據(jù)
上面我們一直在講如何生成二維碼,但是我們?nèi)吮旧硎菬o法讀取二維碼中的信息,這就要借助我們的設備了。在Python中,我們可以通過pyzbar模塊來識別二維碼的識別,當然還有其它方法,這里我們使用pyzbar看看應該如何識別二維碼,首先我們需要安裝模塊:
pipinstall-i/simple/pyzbar
另外我們需要安裝opencv模塊:
pipinstall-i/simple/opencv-python
之后就可以開始識別二維碼了:
importcv2
frompyzbarimportpyzbar
im=cv2.imread('qrcode.png')#讀取二維碼
data=pyzbar.decode(im)#解析二維碼
print(data)
我們使用如下圖片作為測試:
其中包含的信息為,我們看一下輸出結(jié)果:
[Decoded(data=b,type=QRCODE,rect=Rect(left=5,top=5,width=29,height=29),polygon=[Point(x=5,y=5),Point(x=5,y=34),Point(x=34,y=34),Point(x=34,y=5)])]
顯然是我們看不懂的東西,但是我們在里面看到了的字樣,我們可以通過如下方式解析出內(nèi)容:
importcv2
frompyzbarimportpyzbar
im=cv2.imre
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年天津市消防救援總隊水上支隊面向社會公開補錄政府專職消防員24人備考題庫及1套完整答案詳解
- 2026年廣東省廣鹽食品投資有限公司公開招聘備考題庫及答案詳解參考
- 2026年華中農(nóng)業(yè)大學植科院范楚川教授課題組科研助理招聘備考題庫及參考答案詳解
- 2026年中鋁國際貿(mào)易集團有限公司招聘備考題庫有答案詳解
- 2026年廣東省退役軍人服務中心公開招聘編外聘用工作人員備考題庫及參考答案詳解
- 2026年興仁衛(wèi)生院招聘備考題庫帶答案詳解
- 2025年山東春宇人力資源有限公司公開招聘醫(yī)療事業(yè)單位派遣制工作人員備考題庫完整參考答案詳解
- 2026年中交雄安融資租賃有限公司招聘備考題庫及完整答案詳解一套
- 2026年南開醫(yī)院收費員外包崗位(北方輔醫(yī)外包項目)招聘備考題庫及完整答案詳解1套
- 2026年圖市某單位數(shù)據(jù)中心基礎設施運維工程師公開招聘備考題庫附答案詳解
- 2026長治日報社工作人員招聘勞務派遣人員5人參考題庫及答案1套
- 2026年菏澤學院單招職業(yè)傾向性考試題庫附答案解析
- 實際問題與一次函數(shù)課件2025-2026學年人教版八年級數(shù)學下冊
- 2025年天津科技大學毛澤東思想和中國特色社會主義理論體系概論期末考試模擬題及答案1套
- 2024年鹽城市體育局直屬事業(yè)單位招聘真題
- 南方航空安全員培訓
- 2025-2026學年嶺南美版(新教材)初中美術(shù)七年級上冊期末綜合測試卷及答案
- DB11∕T 2398-2025 水利工程巡視檢查作業(yè)規(guī)范
- 2025秋國家開放大學《政府經(jīng)濟學》期末機考精準復習題庫
- PCB設計規(guī)范-MD元器件封裝庫尺寸要求
- 番茄的營養(yǎng)及施肥
評論
0/150
提交評論