皆さん、請求書のQRコードどうやって読んでいますか?
携帯電話だったらQRコードスキャナがあるので、簡単に読み込むことができますね。
でも、情報とか、クレジット番号とか入れるときにPCのほうが楽じゃないですか?
ということで、QRコードを読み込んで、そのリンクのページを表示するプログラムをPythonで作ろうと思います。
まずはQRコードを読み込むために、カメラデバイスから画像を読み込む必要がありますので、OpenCVをインストールします。
pip install opencv-python次にQRコードを読み込むプログラムのインストールです
pip install pyzbar最後にnumpyをインストールします。
pip install numpyさて、ライブラリを読み込んだらプログラムを作ります。
import cv2
from pyzbar.pyzbar import decode
import numpy as np
import webbrowser
cap = cv2.VideoCapture(0)
opened_urls = set() # 同じURLを何度も開かないように記録
while True:
ret, frame = cap.read()
if not ret:
break
for barcode in decode(frame):
qr_data = barcode.data.decode('utf-8')
qr_type = barcode.type
# URLならブラウザで開く(重複防止)
if qr_data.startswith('http') and qr_data not in opened_urls:
print(f"Opening URL: {qr_data}")
webbrowser.open(qr_data)
opened_urls.add(qr_data)
# 枠を描画
pts = barcode.polygon
pts = [(pt.x, pt.y) for pt in pts]
cv2.polylines(frame, [np.array(pts)], True, (0, 0, 0xff), 5)
cv2.imshow('QR Scanner', frame)
if cv2.waitKey(1) == ord('q'):
break
cap.release()
cv2.destroyAllWindows()QRコードが読み込まれたらブラウザで開きます。
終了のときは「qキー」を押すと終了します。



