Import Cv2 Import Numpy
Import Cv2 Import Numpy
import numpy as np
from pyzbar.pyzbar import decode
def read_qr_code():
cap = cv2.VideoCapture(0)
qr_data = ""
while True:
ret, frame = cap.read()
if not ret:
break
square_size = 300
center_x, center_y = frame.shape[1] // 2, frame.shape[0] // 2
top_left = (center_x - square_size // 2, center_y - square_size // 2)
bottom_right = (center_x + square_size // 2, center_y + square_size // 2)
decoded_objects = decode(qr_region)
for obj in decoded_objects:
qr_data = obj.data.decode("utf-8")
print(f"QR Code detectado: {qr_data}")
points = obj.polygon
if len(points) == 4:
pts = [(p.x + top_left[0], p.y + top_left[1]) for p in points]
cv2.polylines(white_bg, [np.array(pts, dtype=np.int32)],
isClosed=True, color=(0, 255, 0), thickness=3)
if qr_data:
cv2.putText(white_bg, f"Mensagem do QR Code: {qr_data}", (50,
frame.shape[0] - 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)
cap.release()
cv2.destroyAllWindows()
if __name__ == "__main__":
read_qr_code()