python中掃描條形碼和二維碼的實現代碼

簡單說明,代碼太難懂,先做此記錄留待來日在看

步驟:

1,pip install pyzbar安裝好該模塊。pyzbar模塊是Python一個開源庫用於掃描和識別二維碼信息。

在這裡插入圖片描述

2,隨便在網上找好兩張截圖

二維碼
條形碼

3,

from pyzbar import pyzbar
import matplotlib.pyplot as plt
import cv2
#條形碼定位及識別
def decode(image,barcodes):
    #循環監測條形碼
    for barcode in barcodes:
        #提取條形碼邊界框位置
        #畫出圖中條形碼的邊界框
        (x,y,w,h)=barcode.rect#獲得這個圖嗎的x,y坐標和寬和高區域
        cv2.rectangle(image,(x,y),(x+w,y+h),(255,0,0),5)#把它框起來用藍色,線粗5

        #條形碼數據為字節對象,所以如果想在輸出圖像上
        #畫出來,就需要先將它裝換為字符串
        barcodeData=barcode.data.decode("utf-8")#將barcode的數據識別出來
        barcodeType=barcode.type#類型也直接識別出來瞭

        #繪制出圖像上條形碼的數據和條形碼的類型
        text="{} ({})".format(barcodeData , barcodeType)
        cv2.putText(image,text,(x,y-10),cv2.FONT_HERSHEY_SCRIPT_SIMPLEX,8,(255,0,0),2)  # cv2.putText(image,text,(x,y-10)
        #像終端打印條形碼數據和條形碼類型
        print("[INFO] Found {} barcode:{}".format(barcodeType,barcodeData))
        plt.figure(figsize=(10,10))
        plt.imshow(image)
    plt.show()

#1,讀取條形碼圖片
image=cv2.imread('tiaoxin.png')
bacodes=pyzbar.decode(image)#找到圖片中的條形碼並進行解碼
decode(image,bacodes)#識別條形碼


#二維碼
image=cv2.imread('erwei.png')
bacodes=pyzbar.decode(image)
decode(image,bacodes)

運行效果:

在這裡插入圖片描述
在這裡插入圖片描述

到此這篇關於python中掃描條形碼和二維碼的文章就介紹到這瞭,更多相關python條形碼和二維碼內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: