TL;DR: I need a way to decode a QR-code from an image file using (preferable pure) Python.
I\'ve got a jpg file with a
You can try the following steps and code using qrtools:
Create a qrcode file, if not already existing
pip install pyqrcodeAnd then use the code:
>>> import pyqrcode
>>> qr = pyqrcode.create("HORN O.K. PLEASE.")
>>> qr.png("horn.png", scale=6)
Decode an existing qrcode file using qrtools
qrtools using sudo apt-get install python-qrtoolsNow use the following code within your python prompt
>>> import qrtools
>>> qr = qrtools.QR()
>>> qr.decode("horn.png")
>>> print qr.data
u'HORN O.K. PLEASE.'
Here is the complete code in a single run:
In [2]: import pyqrcode
In [3]: qr = pyqrcode.create("HORN O.K. PLEASE.")
In [4]: qr.png("horn.png", scale=6)
In [5]: import qrtools
In [6]: qr = qrtools.QR()
In [7]: qr.decode("horn.png")
Out[7]: True
In [8]: print qr.data
HORN O.K. PLEASE.
Caveats
PyPNG using pip install pypng for using pyqrcodeIn case you have PIL installed, you might get IOError: decoder zip not available. In that case, try uninstalling and reinstalling PIL using:
pip uninstall PIL
pip install PIL
If that doesn't work, try using Pillow instead
pip uninstall PIL
pip install pillow