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)
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)
def test_symbols(self): "Read only qrcodes in `qrcode.png`" res = decode(self.qrcode, symbols=[ZBarSymbol.QRCODE]) self.assertEqual(self.EXPECTED_QRCODE, res)
def test_decode_code128(self): "Read both barcodes in `code128.png`" res = decode(self.code128) self.assertEqual(self.EXPECTED_CODE128, res)
def test_decode_qrcode(self): "Read barcode in `qrcode.png`" res = decode(self.qrcode) self.assertEqual(self.EXPECTED_QRCODE, res)
def test_decode_opencv(self): "Read image using OpenCV" res = decode(cv2.imread(str(TESTDATA.joinpath('code128.png')))) self.assertEqual(self.EXPECTED_CODE128, res)
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)
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)
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)
def test_symbols_not_present(self): "Read only code128 in `qrcode.png`" res = decode(self.qrcode, symbols=[ZBarSymbol.CODE128]) self.assertEqual([], res)