Skip to content

fengrk/zbar-py

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zbar-py

Introduction

Author: Zachary Pincus zpincus@gmail.com

Contributions: Rounak Singh rounaksingh17@gmail.com (example code and zbar.misc).

zbar-py is a module (compatible with both Python 2.7 and 3+) that provides an interface to the zbar bar-code reading library, which can read most barcode formats as well as QR codes. Input images must be 2D numpy arrays of type uint8 (i.e. 2D greyscale images).

The zbar library itself packaged along with zbar-py (it's built as a python extension), so no external dependencies are required. Building zbar requires the iconv library to be present, which you almost certainly have, except if you're on windows. Then you probably will need to download or build the iconv DLL. Here are pre-built 32- and 64-bit binaries for same.

The python code is under the MIT license, and zbar itself is licensed under the GNU LGPL version 2.1.

Prerequisites:

  • iconv -- c library required for building zbar-py; see above
  • numpy -- for running zbar-py
  • pygame -- for examples using a webcam

Simple examples:

More sophisticated examples can be found in 'examples' directory.

  • Scan for barcodes in a 2D numpy array:
import zbar
image = read_image_into_numpy_array(...) # whatever function you use to read an image file into a numpy array
scanner = zbar.Scanner()
results = scanner.scan(image)
for result in results:
    print(result.type, result.data, result.quality, result.position)
  • Scan for UPC-A barcodes and perform checksum validity test:
import zbar
import zbar.misc
image = read_image_into_numpy_array(...) # get an image into a numpy array
scanner = zbar.Scanner()
results = scanner.scan(image)
for result in results:
    if result.type == 'UPC-A':
        print(result.data, zbar.misc.upca_is_valid(result.data.decode('ascii')))

About

Simple python 2 and 3 compatible interface to the zbar barcode-reading library

Resources

License

MIT, LGPL-2.1 licenses found

Licenses found

MIT
LICENSE
LGPL-2.1
LICENSE-LGPL21.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 83.7%
  • Objective-C 6.9%
  • C++ 5.8%
  • Python 3.6%