Escáner de código QR de cámara web usando OpenCV

En este artículo, veremos cómo escanear un código QR con una cámara web. 

Escáner de código QR de 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *