微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 python 的二维码解码得到的值太多,无法解包错误

如何解决使用 python 的二维码解码得到的值太多,无法解包错误

我正在使用 python 生成二维码图像。

我的代码

import qrcode
data = 'Authenticated'

img = qrcode.make(data)

img.save('Trademark.jpg')

之后,我想从我自己生成二维码获取信息。对于上面的代码,它会给出像 name Authenticated 这样的输出和其他信息,比如 QRcode 的高度等。

获取二维码数据的代码

from pyzbar.pyzbar import decode
from PIL import Image

decode_image = ("Trademark.jpg")

result = decode(decode_image)

我收到上述代码片段的错误

ValueError                                Traceback (most recent call last)
<ipython-input-10-dbd95bfa64b9> in <module>()
      4 decode_image = ("Trademark.jpg")
      5 
----> 6 result = decode(decode_image)

1 frames
/usr/local/lib/python3.7/dist-packages/pyzbar/pyzbar.py in _pixel_data(image)
    145     else:
    146         # image should be a tuple (pixels,width,height)
--> 147         pixels,height = image
    148 
    149         # Check dimensions

ValueError: too many values to unpack (expected 3)

如何调试代码

解决方法

我建议使用 PIL 打开图像,即pyzbar is designed for

from pyzbar.pyzbar import decode
from PIL import Image

img = Image.open("trademark.jpg")
result = decode(img)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。