Декодирование Python-ZXING возвращает пустые данные
Я пытаюсь декодировать данные кода qr или ацтеков с помощью Python-zxing. Каждый раз, когда я получаю пустые данные без ошибок в 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 ver. 2.7.11 (Windows)
PS Когда я запускаю скрипт из cmd, у меня появляется сообщение:
Исключение в потоке "main" java.lang.NoClassDefFoundError: com/google/zxing/client/j2se/CommandLineRunner
1 ответ
Вы забыли о наследовании классов. Смотри ниже. Ответ сделан совместимым с 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)
Предполагая, что установка mvn Zxing верна, добавьте путь к папке Zxing при создании экземпляра устройства чтения (в данном случае "rd")
rd = zxing.BarCodeReader("/path/to/zxing")
К вашему сведению: я запускаю его на Raspbian, а не на Windows, но с той же ошибкой.
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.