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:
¿Qué debo hacer?
PD: ¡Disculpe por el mal inglés!
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.