En este artículo, veremos cómo escanear un código QR con una cámara web.
Antes de comenzar, debe saber cómo va a funcionar este proceso. En primer lugar, debe abrir su cámara web y debe ejecutar su programa python para que esté listo para escanear el código QR. Puede tomar la imagen del código Qr en su móvil y mostrar la imagen frente a su cámara web. Identifica correctamente el código QR que presenta en su pantalla. Y este programa te redirige a un enlace oculto en el código QR.
Requisitos:
pip install OpenCV pip install webbrowser ( built in )
Paso 1: para crear el escáner de códigos QR, debe instalar la biblioteca OpenCV en su símbolo del sistema. Primero, debe importar la biblioteca cv2 y del navegador . Cv2 se usa para escanear el código QR a través de una cámara web y un navegador web se usa para llevar la URL al navegador.
Python3
import cv2 import webbrowser
Paso 2: A continuación, debemos iniciar la cámara para capturar el código QR. Para eso declara una variable llamada cap y en esta variable pasa la instancia cv2.VideoCapture(0) . El siguiente proceso es que necesitamos crear una variable llamada detector y en esta variable llamar al objeto cv2.QRCodeDetector() . Este objeto es muy útil para capturar códigos QR en tiempo real.
Python3
cap = cv2.VideoCapture(0) # initialize the cv2 QRCode detector detector = cv2.QRCodeDetector()
Paso 3: este paso es muy importante, necesita crear un ciclo while y en este ciclo crear una variable llamada img y este ciclo leerá la pantalla de su cámara web continuamente hasta que este ciclo se rompa
Python3
while True: _, img = cap.read()
Paso 4:
Luego, cree una variable llamada datos, y esta variable se usará para decodificar el código QR, y si hay algún dato presente en la imagen del código QR, romperá el ciclo y abrirá el enlace en su navegador. Así que esta es la condición que inserté aquí.
Python3
# detect and decode data, bbox, _ = detector.detectAndDecode(img) # check if there is a QRCode in the image if data: a=data break
Paso 5:
Finalmente, llame al objeto cv2.imshow, esto producirá la salida y debe asignar la clave para romper el bucle. Aquí asigné la tecla que se llama q, cuando presionamos la q detendrá la transmisión de video.
Y luego debe crear la variable, en esta variable debe llamar al objeto webbrowser.open (pasar la variable en este objeto)
Python3
cv2.imshow("QRCODEscanner", img) if cv2.waitKey(1) == ord("q"): break b=webbrowser.open(str(a)) cap.release() cv2.destroyAllWindows()
Producción :
Publicación traducida automáticamente
Artículo escrito por arunkumarbalamurugan2000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA