Skip to content

classicvalues/zbarlight

 
 

Repository files navigation

fastzbarlight

fastzbarlight is a fork of zbarlight which ships with its own vendored libzbar, which it compiles with optimization flags to make it faster than the stock Ubuntu version. Try out the simple "trial.py" benchmark in this repository:

` $ python trial.py Average call time with zbarlight: 2.0961521719982557ms (1000 tries) Average call time with fastzbarlight: 0.7335694559988042ms (1000 tries)`

ZbarLight

zbarlight is a simple wrapper for the zbar library. For now, it only allows to read QR codes but contributions, suggestions and pull requests are welcome.

zbarlight is compatible with Python 2 and Python 3.

zbarlight is hosted on Github at <https://github.com/Polyconseil/zbarlight/>.

Installation

You need to install ZBar Bar Code Reader <http://zbar.sourceforge.net/> and its headers to use zbarlight:

  • on Debian, apt-get install libzbar0 libzbar-dev
  • on Mac OS X, brew install zbar

Then you should use pip or setuptools to install the zbarlight wrapper.

How To use ZbarLight

The new way:

from PIL import Image
import zbarlight

file_path = './tests/fixtures/two_qr_codes.png'
with open(file_path, 'rb') as image_file:
    image = Image.open(image_file)
    image.load()

codes = zbarlight.scan_codes('qrcode', image)
print('QR codes: %s' % codes)

The deprecated way:

from PIL import Image
import zbarlight

file_path = './tests/fixtures/one_qr_code.png'
with open(file_path, 'rb') as image_file:
    image = Image.open(image_file)
    image.load()
converted_image = image.convert('L')  # Convert image to gray scale (8 bits per pixel).
image.close()

raw = converted_image.tobytes()  # Get image data.
width, height = converted_image.size  # Get image size.
code = zbarlight.qr_code_scanner(raw, width, height)

print('QR code: %s' % code.decode())

About

A simple wrapper for zbar

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 67.7%
  • C 26.2%
  • Makefile 6.1%