import cv2
import numpy as np
from [Link] import decode
def read_qr_code():
cap = [Link](0)
qr_data = ""
while True:
ret, frame = [Link]()
if not ret:
break
white_bg = np.ones_like(frame, dtype=np.uint8) * 255
square_size = 300
center_x, center_y = [Link][1] // 2, [Link][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)
[Link](white_bg, top_left, bottom_right, (0, 0, 0), 3)
[Link](white_bg, "Escaneie o seu QR Code", (center_x - 180,
top_left[1] - 20), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 0), 2)
qr_region = frame[top_left[1]:bottom_right[1], top_left[0]:bottom_right[0]]
white_bg[top_left[1]:bottom_right[1], top_left[0]:bottom_right[0]] =
qr_region
decoded_objects = decode(qr_region)
for obj in decoded_objects:
qr_data = [Link]("utf-8")
print(f"QR Code detectado: {qr_data}")
points = [Link]
if len(points) == 4:
pts = [(p.x + top_left[0], p.y + top_left[1]) for p in points]
[Link](white_bg, [[Link](pts, dtype=np.int32)],
isClosed=True, color=(0, 255, 0), thickness=3)
if qr_data:
[Link](white_bg, f"Mensagem do QR Code: {qr_data}", (50,
[Link][0] - 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)
[Link]("Scan de QRCode", white_bg)
if [Link](1) & 0xFF == ord('q'):
break
[Link]()
[Link]()
if __name__ == "__main__":
read_qr_code()