使用python創(chuàng)建和讀取二維碼

什么是二維碼?
QR碼是機(jī)器可讀的二維像素化條形碼,可用于存儲各種信息。
二維碼是由日本汽車制造商Denso Wave 的工程師Masahiro Hara在 1994 年發(fā)明的,用于跟蹤汽車零件的運動。二維碼在 2010 年代后期隨著手機(jī)光學(xué)功能的改進(jìn)及其廣泛采用而越來越受歡迎。
如今,二維碼被廣泛用于各種應(yīng)用,例如在線支付、查看酒店菜單、共享 wifi 密碼、獲取產(chǎn)品的價格和其他詳細(xì)信息等。二維碼變得如此流行,以至于現(xiàn)在每部新智能手機(jī)都內(nèi)置了二維碼閱讀器。
在本文中,我們將學(xué)習(xí)如何使用 python 讀取和生成二維碼。
生成二維碼
安裝二維碼模塊;
我們將使用 qrcode 包來生成二維碼;
第一步是使用 pip 命令安裝包。
pip install qrcode
pip安裝二維碼
簡單的二維碼:
#Import Library
import qrcode
#Generate QR Code
img=qrcode.make('Hello World')
img.save('hello.png')
Hello World 的二維碼
你可以用你的智能手機(jī)閱讀上面的代碼。
注意:請勿使用手機(jī)讀取隨機(jī)二維碼,因為其中可能包含惡意代碼/鏈接。
高級二維碼:
有 40 個版本的 QR 碼,用于控制代碼的大小。
1 是最小的,40 是最大的。
版本 1 將創(chuàng)建一個 21X21 矩陣二維碼。
此參數(shù)控制用于二維碼的糾錯。這從 7% 到 30% 的錯誤糾正不等,如下所示:
ERROR_CORRECT_L:高達(dá) 7%
ERROR_CORRECT_M:高達(dá) 15%
ERROR_CORRECT_Q:高達(dá) 25%
ERROR_CORRECT_H:高達(dá) 30%
該參數(shù)控制二維碼每個框內(nèi)的像素數(shù)
此參數(shù)控制邊框的粗細(xì)。默認(rèn)邊框為 4 像素厚。
QRCode 對象有以下功能可用于創(chuàng)建 QR 碼
二維碼的內(nèi)容可以作為參數(shù)傳遞給這個函數(shù)。
如果你不知道哪個版本的QR碼的使用,該版本可以自動設(shè)置:
一。將版本參數(shù)設(shè)置為None和b。塞汀合適的參數(shù)化妝到真。
此函數(shù)生成二維碼。它還可以用于使用fill_color和back_color參數(shù)設(shè)置二維碼的填充顏色和背景顏色。
qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, box_size=10, border=4, ) qr.add_data("https://abhijithchandradas.medium.com/") qr.make(fit=True) img = qr.make_image(fill_color="red", back_color="black") img.save("medium.png")
讀取二維碼:
pip install cv2
import cv2 img=cv2.imread("medium.png") det=cv2.QRCodeDetector() val, pts, st_code=det.detectAndDecode(img) print(val) Output: https://abhijithchandradas.medium.com/
detectAndDecode 函數(shù)返回二維碼的內(nèi)容、框角坐標(biāo)和二值化二維碼。
原文鏈接:https://towardsdatascience.com/create-and-read-qr-code-using-python-9fc73376a8f9
文章轉(zhuǎn)載:Python編程學(xué)習(xí)圈
(版權(quán)歸原作者所有,侵刪)
![]()

點擊下方“閱讀原文”查看更多
