Real time Barcode and QR Code scanner using the camera. It's built on top of Kivy and pyzbar.
Simply import and instanciate ZBarCam
in your kvlang file and access its symbols
property.
#:import ZBarCam kivy.garden.zbarcam.ZBarCam
#:import ZBarSymbol pyzbar.pyzbar.ZBarSymbol
BoxLayout:
orientation: 'vertical'
ZBarCam:
id: zbarcam
# optional, by default checks all types
code_types: ZBarSymbol.QRCODE, ZBarSymbol.EAN13
Label:
size_hint: None, None
size: self.texture_size[0], 50
text: ', '.join([str(symbol.data) for symbol in zbarcam.symbols])
Install system requirements (Ubuntu 18.04):
sudo apt install libzbar-dev
Install garden requirements:
garden install --upgrade xcamera
Install zbarcam:
Via garden
:
garden install --upgrade zbarcam
When installed with this method, the import command would be:
from kivy.garden.zbarcam import ZBarCam
Via pip
:
pip install --upgrade https://github.com/kivy-garden/garden.zbarcam/archive/develop.zip
When installed with this method, the import command would be:
from zbarcam import ZBarCam
You may also need to compile/install OpenCV manually, see OpenCV.md.
Build for Android via buildozer, see buildozer.spec.
To play with the project, install system dependencies and Python requirements using the Makefile.
make
Then verify everything is OK by running tests.
make test
make uitest
Missing the xcamera
dependency, install it with:
garden install xcamera
More likely an import issue in your .kv
file.
Try to from zbarcam import ZBarCam
in your main.py
to see the exact error.
It's common to forget Pillow
in buildozer.spec
requirements
section.
See OpenCV.md.
I borrowed a lot of code from tito/android-zbar-qrcode.