\

QRコードの生成

PythonでQRコードを生成するには、pyqrcodeというライブラリを使用します。以下にその使用例を示します。

import pyqrcode

# 文字情報を含んだQRコードの生成
a = pyqrcode.create(content="Hello From Jetsonnano", error='H')
a.png(file='test.png', scale=6)

# URL情報を含んだQRコードの生成
b = pyqrcode.QRCode('https://www.youtube.com/channel/UCDYbu9aViDvkubFcwgbbKDA', error='M')
b.png('test2.png', scale=6)

バーコードの生成

バーコードの生成にはpython-barcodeというライブラリを使用します。以下にその使用例を示します。

import barcode
from barcode.writer import ImageWriter

d = '938469387183'
a = barcode.get_barcode_class('ean13')
b = a(d, writer=ImageWriter())
c = b.save('barcode')

QRコードとバーコードの読み取り

QRコードとバーコードの読み取りにはpyzbarというライブラリを使用します。以下にその使用例を示します。

from pyzbar.pyzbar import decode
from PIL import Image

d = decode(Image.open('qrcode.png'))
print(d[0].data.decode("utf-8"))

OpenCVを使った読み取り

OpenCVを使ってQRコードまたはバーコードを検知したら画面の上にその情報を表示させます。

from pyzbar.pyzbar import decode
import cv2

cap = cv2.VideoCapture(0)
font = cv2.FONT_HERSHEY_SIMPLEX

while cap.isOpened():
    ret, frame = cap.read()
    if ret == True:
        d = decode(frame)
        if d:
            for barcode in d:
                x, y, w, h = barcode.rect
                cv2.rectangle(frame, (x, y), (x+w, y+h), (0, 0, 255), 2)
                barcodeData = barcode.data.decode('utf-8')
                frame = cv2.putText(frame, barcodeData, (x, y-10), font, .5, (0, 0, 255), 2, cv2.LINE_AA)
                cv2.imshow('frame', frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

cap.release()

以上がPythonでQRコードとバーコードを生成・読み取る方法になります。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です