<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 2004字,需瀏覽 5分鐘

           ·

          2021-08-28 09:42


          什么是二維碼?

          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安裝二維碼

          可以在包的PYPI 主頁中訪問包的完整文檔。

          簡單的二維碼:


          通過使用qrcode的make函數(shù)并將數(shù)據(jù)作為參數(shù)傳遞,可以生成一個簡單的二維碼。下面的代碼生成一個 QR 碼,上面寫著“Hello World”。


          #Import Library

          import qrcode

          #Generate QR Code

          img=qrcode.make('Hello World')

          img.save('hello.png')



          Hello World 的二維碼


          你可以用你的智能手機(jī)閱讀上面的代碼。

          注意:請勿使用手機(jī)讀取隨機(jī)二維碼,因為其中可能包含惡意代碼/鏈接。



          高級二維碼:


          可以使用具有以下參數(shù)的QRCode對象自定義二維碼 :

          1.version :

          • 有 40 個版本的 QR 碼,用于控制代碼的大小。
            1 是最小的,40 是最大的。
            版本 1 將創(chuàng)建一個 21X21 矩陣二維碼。


          2.error_correction:

          此參數(shù)控制用于二維碼的糾錯。這從 7% 到 30% 的錯誤糾正不等,如下所示:

          ERROR_CORRECT_L:高達(dá) 7%
          ERROR_CORRECT_M:高達(dá) 15%
          ERROR_CORRECT_Q:高達(dá) 25%
          ERROR_CORRECT_H:高達(dá) 30%

          3.box_size:

          該參數(shù)控制二維碼每個框內(nèi)的像素數(shù)

          4.border:

          此參數(shù)控制邊框的粗細(xì)。默認(rèn)邊框為 4 像素厚。

          QRCode 對象有以下功能可用于創(chuàng)建 QR 碼

          1.add data

          二維碼的內(nèi)容可以作為參數(shù)傳遞給這個函數(shù)。

          2. 制作

          如果你不知道哪個版本的QR碼的使用,該版本可以自動設(shè)置:

          一。將版本參數(shù)設(shè)置為None和
          b。塞汀合適的參數(shù)化妝真。

          3.make image

          此函數(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")

          高級二維碼


          讀取二維碼:


          我們將使用 OpenCV 來讀取二維碼。如果沒有安裝包,可以如下安裝:

          pip install cv2

          二維碼可以使用:

          OpenCV的 QRCodeDetector 對象的 detectAndDecode 函數(shù)進(jìn)行解碼。

          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)歸原作者所有,侵刪)

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

          瀏覽 78
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产高清无码在线观看 | 亚洲爆乳无码一区二区三区 | а√最新版在线天堂8 | 欧美成人精品高清视频在线观看 | 操逼熟女|