Esempio n. 1
0
def main(args=None):
    if args is None:
        args = sys.argv[1:]

    parser = argparse.ArgumentParser(
        description='Reads barcodes in images, using the zbar library'
    )
    parser.add_argument('image', nargs='+')
    parser.add_argument(
        '-v', '--version', action='version',
        version='%(prog)s ' + pyzbar.__version__
    )
    args = parser.parse_args(args)

    from PIL import Image

    for image in args.image:
        for barcode in decode(Image.open(image)):
            print(barcode.data)
Esempio n. 2
0
 def test_decode_qrcode_rotated(self):
     "Read barcode in `qrcode_rotated.png`"
     # Test computation of the polygon around the barcode
     res = decode(self.qrcode_rotated)
     self.assertEqual(self.EXPECTED_QRCODE_ROTATED, res)
Esempio n. 3
0
 def test_symbols(self):
     "Read only qrcodes in `qrcode.png`"
     res = decode(self.qrcode, symbols=[ZBarSymbol.QRCODE])
     self.assertEqual(self.EXPECTED_QRCODE, res)
Esempio n. 4
0
 def test_decode_code128(self):
     "Read both barcodes in `code128.png`"
     res = decode(self.code128)
     self.assertEqual(self.EXPECTED_CODE128, res)
Esempio n. 5
0
 def test_decode_qrcode(self):
     "Read barcode in `qrcode.png`"
     res = decode(self.qrcode)
     self.assertEqual(self.EXPECTED_QRCODE, res)
Esempio n. 6
0
 def test_decode_opencv(self):
     "Read image using OpenCV"
     res = decode(cv2.imread(str(TESTDATA.joinpath('code128.png'))))
     self.assertEqual(self.EXPECTED_CODE128, res)
Esempio n. 7
0
 def test_decode_numpy(self):
     "Read image using Pillow and convert to numpy.ndarray"
     res = decode(np.asarray(self.code128))
     self.assertEqual(self.EXPECTED_CODE128, res)
Esempio n. 8
0
 def test_empty(self):
     "Do not show any output for an image that does not contain a barcode"
     res = decode(self.empty)
     self.assertEqual([], res)
Esempio n. 9
0
 def test_decode_tuple(self):
     "Read barcodes in pixels"
     pixels = self.code128.copy().convert('L').tobytes()
     width, height = self.code128.size
     res = decode((pixels, width, height))
     self.assertEqual(self.EXPECTED_CODE128, res)
Esempio n. 10
0
 def test_symbols_not_present(self):
     "Read only code128 in `qrcode.png`"
     res = decode(self.qrcode, symbols=[ZBarSymbol.CODE128])
     self.assertEqual([], res)