es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Leyendo códigos QR con Kraken y PyZbar desde imágenes con ruido o borrosas.

Tengo varias fotos con códigos QR. Estoy tratando de leerlos usando Kraken y Pyzbar, pero algunos códigos QR no se pueden leer.

Aquí está mi código:

from pyzbar.pyzbar import decode, ZBarSymbol

from os.path import isfile, join

from kraken import binarization
from PIL import Image
from os.path import isfile, join

onlyfiles = ['Images/' + f for f in os.listdir('Images/') if isfile(join('Images/', f))]
onlyfiles.remove('Images/Thumbs.db')
rand.shuffle(onlyfiles)

decoded = 0
texts = []

i = 1
for file in onlyfiles:
    print(i, file, end=' ')

im = Image.open(file)
bw_im = binarization.nlbin(im)
decodeQR = decode(bw_im)

if len(decodeQR) == 0:
    print("NO")
else:
    decoded += 1
    print('YES')
    texts.append(decodeQR[0].data)

i += 1

print("Decoded: " + str(decoded) + '/' + str(len(onlyfiles)))
print(texts)

y aquí está el ejemplo de archivo que no se está leyendo con el código, pero puede ser leído por mi teléfono:
Image

¿Qué debo hacer?

PD: ¡Disculpe por el mal inglés!

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema puede estar en el propio código QR o en la forma en que se capturó en la foto. Algunos códigos QR pueden ser más difíciles de leer debido a factores como el bajo contraste, el desenfoque o la distorsión.

    Aquí hay algunas cosas que puedes intentar:
    – Asegúrate de que el código QR en la foto esté enfocado y correctamente alineado.
    – Ajusta el brillo y el contraste de la foto para mejorar el código QR.
    – Intenta utilizar una biblioteca o herramienta diferente para descifrar el código QR.
    – Intenta imprimir el código QR y escanearlo para ver si puede ser leído por las bibliotecas.

    En algunos casos, puede que no sea posible descifrar ciertos códigos QR debido a los factores mencionados anteriormente.

Comments are closed.