diff --git a/mo/jobs/protocols.py b/mo/jobs/protocols.py index 3ba6498f3076aa9eabc70ef11739709500a80bc4..8c2db41304f288e7c1f07b57c855ee2f2affffe6 100644 --- a/mo/jobs/protocols.py +++ b/mo/jobs/protocols.py @@ -20,6 +20,7 @@ from mo.jobs import TheJob, job_handler from mo.util import logger, part_path, tex_arg import mo.util_format +SCAN_BW_THRESHOLD = 180 # 0-255, pixel nad toto číslo = bílý pixel # # Job create_protocols: Vygeneruje formuláře protokolů @@ -355,10 +356,10 @@ def _process_scan_file(args: ScanJobArgs) -> ScanJobResult: ) del page_img - full_img = full_img.convert('L') # Grayscale - full_size = full_img.size + (full_width, full_height) = full_img.size + test_img = full_img.convert('L').point(lambda x: 255 if x > SCAN_BW_THRESHOLD else 0, mode='1') - codes = pyzbar.decode(full_img, symbols=[pyzbar.ZBarSymbol.QRCODE]) + codes = pyzbar.decode(test_img, symbols=[pyzbar.ZBarSymbol.QRCODE]) codes = [c for c in codes if c.type == 'QRCODE' and c.data.startswith(b'MO:')] qr = None if codes: @@ -372,7 +373,7 @@ def _process_scan_file(args: ScanJobArgs) -> ScanJobResult: full_img.save(f'{args.out_prefix}-{page_nr:04d}-full.png') - small_img = full_img.resize((full_size[0] // 4, full_size[1] // 4)) + small_img = full_img.resize((full_width // 4, full_height // 4)) small_img.save(f'{args.out_prefix}-{page_nr:04d}-small.png') logger.debug(f'Scan: Strana #{page_nr}: {qr}')