Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

767
Visualizações
Decodificar códigos Micro QR con Python

Usé "segno" para crear códigos Micro QR con python:

 import segno segno.make_micro("1").save("1.png", scale=10)

Imagen de salida

¿Alguien sabe de una forma (simple) de decodificarlos con python? No pude encontrar una biblioteca, pero me temo que hacer esto yo mismo (tal vez con openCV) será un gran esfuerzo.

En contraste con esta publicación ( ¿Cómo decodificar una imagen de código QR en Python (preferiblemente puro)? ), Ya instalé con éxito PyQRCode y ZBar. Desafortunadamente, estas bibliotecas no decodifican los códigos Micro QR.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Dado que aparentemente el uso de códigos Micro QR no se ha generalizado lo suficiente (¿todavía?) como para agregar soporte para leerlos en cualquier biblioteca que pude encontrar, estaba buscando una solución alternativa. En mi búsqueda encontré uno o dos lectores QR en línea que admiten la decodificación de microcódigos QR. Como recién estoy aprendiendo Playwright para Python , pensé que lo intentaría.

El siguiente código usa playwright para abrir un sitio web decodificador de código QR en línea, haga clic en la página para configurar las opciones correctas, cargue el archivo de imagen y luego lea el resultado de la página.

Soy consciente de que esta es una forma completamente complicada y nadie haría esto en el código de producción, pero fue divertido y funciona :) Aunque no califica como "simple" como solicitó el OP, me temo.

 from playwright import sync_playwright import segno segno.make_micro("1").save("1.png", scale=10) with sync_playwright() as p: browser = p.firefox.launch(headless=False) page = browser.newPage() page.goto('https://www.datasymbol.com/barcode-reader-sdk/barcode-reader-sdk-for-windows/online-barcode-decoder.html') page.querySelector('select[name=\"sr\"]').selectOption([{'label': 'Text'}]) page.querySelector('img[alt=\"QRCode Decoder Scanner Settings\"]').click() page.querySelector('input[name=\"qrmicro\"]').click() page.querySelector('input[id=\"fupload1\"]').setInputFiles('1.png') page.querySelector('input[type=\"button\"]').click() iframe = page.querySelector('iframe[name=\"f2\"]').contentFrame() result = iframe.querySelector('css=pre').innerHTML().rstrip() print(result) browser.close()

huellas dactilares

 1

Algunas notas:

  • si no desea ver la página durante la ejecución, simplemente elimine headless=False .
  • aparentemente, hay una limitación bastante desagradable para usar al menos el servicio que elegí: si el texto que codificas tiene más de dos caracteres, el sitio web cambiará los dos primeros caracteres a ** , por lo que si codificaste One Two Three recuperarás **e Two Three . Esta es una limitación si no crea los códigos de barras usted mismo. Si lo hace, simplemente agregue ** al comienzo de su contenido en primer lugar.
  • si desea utilizar un servicio remoto pero no quiere la forma compleja a través de la interfaz web, existen servicios que ofrecen una API directa que puede utilizar, por ejemplo, con requests . El sitio que elegí arriba aparentemente también ofrece algo así y parece haber un plan gratuito. Pero nunca lo usé, así que no puedo decir nada al respecto.
over 4 years ago · Santiago Trujillo Relatório

0

PyBoof acaba de actualizarse y ahora admite escanear/leer códigos Micro QR y generarlos también. Vea el código de ejemplo en Github para detectar y crear . A continuación se muestra una copia del código para escanear/detectar:

 import numpy as np import pyboof as pb # Detects all the QR Codes in the image and prints their message and location data_path = "../data/example/fiducial/microqr/image01.jpg" detector = pb.FactoryFiducial(np.uint8).microqr() image = pb.load_single_band(data_path, np.uint8) detector.detect(image) print("Detected a total of {} QR Codes".format(len(detector.detections))) for qr in detector.detections: print("Message: " + qr.message) print(" at: " + str(qr.bounds))

PyBoof es un envoltorio alrededor de BoofCV , por lo que es posible que desee comprobarlo también.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda