diff options
Diffstat (limited to 'python/examples')
-rw-r--r-- | python/examples/processor.py | 35 | ||||
-rw-r--r-- | python/examples/read_one.py | 29 | ||||
-rw-r--r-- | python/examples/scan_image.py | 31 |
3 files changed, 95 insertions, 0 deletions
diff --git a/python/examples/processor.py b/python/examples/processor.py new file mode 100644 index 0000000..b8f20f0 --- /dev/null +++ b/python/examples/processor.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python +from sys import argv +import zbar + +# create a Processor +proc = zbar.Processor() + +# configure the Processor +proc.parse_config('enable') + +# initialize the Processor +device = '/dev/video0' +if len(argv) > 1: + device = argv[1] +proc.init(device) + +# setup a callback +def my_handler(proc, image, closure): + # extract results + for symbol in image.symbols: + # do something useful with results + print('decoded', symbol.type, 'symbol', '"%s"' % symbol.data) + +proc.set_data_handler(my_handler) + +# enable the preview window +proc.visible = True + +# initiate scanning +proc.active = True +try: + # keep scanning until user provides key/mouse input + proc.user_wait() +except zbar.WindowClosed as e: + pass diff --git a/python/examples/read_one.py b/python/examples/read_one.py new file mode 100644 index 0000000..7a18c99 --- /dev/null +++ b/python/examples/read_one.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python +from sys import argv +import zbar + +# create a Processor +proc = zbar.Processor() + +# configure the Processor +proc.parse_config('enable') + +# initialize the Processor +device = '/dev/video0' +if len(argv) > 1: + device = argv[1] +proc.init(device) + +# enable the preview window +proc.visible = True + +# read at least one barcode (or until window closed) +proc.process_one() + +# hide the preview window +proc.visible = False + +# extract results +for symbol in proc.results: + # do something useful with results + print('decoded', symbol.type, 'symbol', '"%s"' % symbol.data) diff --git a/python/examples/scan_image.py b/python/examples/scan_image.py new file mode 100644 index 0000000..e26cb42 --- /dev/null +++ b/python/examples/scan_image.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python +from sys import argv +import zbar +from PIL import Image + +if len(argv) < 2: exit(1) + +# create a reader +scanner = zbar.ImageScanner() + +# configure the reader +scanner.parse_config('enable') + +# obtain image data +pil = Image.open(argv[1]).convert('L') +width, height = pil.size +raw = pil.tobytes() + +# wrap image data +image = zbar.Image(width, height, 'Y800', raw) + +# scan the image for barcodes +scanner.scan(image) + +# extract results +for symbol in image: + # do something useful with results + print('decoded', symbol.type, 'symbol', '"%s"' % symbol.data) + +# clean up +del(image) |