Skip to content
This repository has been archived by the owner on Sep 15, 2019. It is now read-only.

kivy-garden/garden.zbarcam

Repository files navigation

garden.zbarcam

Build Status

Real time Barcode and QR Code scanner using the camera. It's built on top of Kivy and pyzbar.

screenshot

How to use

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

Ubuntu

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.

Android

Build for Android via buildozer, see buildozer.spec.

Contribute

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

Troubleshooting

Install Unable to import package 'kivy.garden.xcamera.XCamera'

Missing the xcamera dependency, install it with:

garden install xcamera

Android ValueError: Empty module name

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.

OpenCV related

See OpenCV.md.

Credits

I borrowed a lot of code from tito/android-zbar-qrcode.