【问题标题】:Python-zxing decode returns empty dataPython-zxing 解码返回空数据
【发布时间】:2016-04-15 11:46:18
【问题描述】:

我正在尝试通过 Python-zxing 解码 qr 或 aztec 代码数据。每次我在 python Shell 中得到空数据而没有任何错误。我做错了什么?

import zxing
image = "aztec.png"

rd = zxing.BarCodeReader()
rs = rd.decode(image)
print rs.data
print rs

输出:

''
<zxing.BarCode instance at 0x0312A260>

Python 版本。 2.7.11(Windows)

附: 当我从 cmd 运行脚本时,我有消息:

线程“主”java.lang.NoClassDefFoundError 中的异常:com/google/zxing/client/j2se/CommandLineRunner

【问题讨论】:

    标签: python windows zxing aztec-barcode


    【解决方案1】:

    假设Zxing的mvn安装是正确的,在创建reader实例的同时添加Zxing文件夹的路径(本例为'rd')

    rd = zxing.BarCodeReader("/path/to/zxing")
    

    仅供参考:我在 Raspbian 上运行它,而不是在 Windows 上运行它,但出现了同样的错误。

    【讨论】:

      【解决方案2】:

      你忘记了类继承。见下文。答案与 python 3 兼容;但说真的......这不是这样做的鼓舞人心的方式。为了长期兼容性,您应该通过版本控制进行检查并使用 if 语句。

      image = "aztec.png"
      
      zxing = zxing() # notice zxhing()
      
      rd = zxing.BarCodeReader()   
      rs = rd.decode(image)
      try:
          print (rs.data)
          print (rs)
      except:
          print (rs.data)
          print (rs)
      

      【讨论】:

        【解决方案3】:
        print(rs.raw)  # This returns the decoded text.
        

        您也可以使用 rs.parsed。

        print(rs.format)  # This returns the Format like the detected one is DataMatrix. QR Code etc.
        
        print(rs.points)  # This returns the boundary of points where its detected. 
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-11
          • 1970-01-01
          • 2021-08-17
          相关资源
          最近更新 更多