diff --git a/qurator/eynollah/eynollah.py b/qurator/eynollah/eynollah.py index 7510654..07812b2 100644 --- a/qurator/eynollah/eynollah.py +++ b/qurator/eynollah/eynollah.py @@ -92,7 +92,8 @@ class Eynollah: curved_line=False, full_layout=False, allow_scaling=False, - headers_off=False + headers_off=False, + override_dpi=None, ): self.image_filename = image_filename self.dir_out = dir_out @@ -102,6 +103,7 @@ class Eynollah: self.full_layout = full_layout self.allow_scaling = allow_scaling self.headers_off = headers_off + self.override_dpi = override_dpi if not self.image_filename_stem: self.image_filename_stem = Path(Path(image_filename).name).stem self.plotter = None if not enable_plotting else EynollahPlotter( @@ -346,10 +348,9 @@ class Eynollah: def resize_and_enhance_image_with_column_classifier(self): self.logger.debug("enter resize_and_enhance_image_with_column_classifier") - try: - dpi = check_dpi(self.image_filename) - except: - dpi = 230 + if self.override_dpi: + return self.override_dpi + dpi = check_dpi(self.image_filename) self.logger.info("Detected %s DPI", dpi) img = self.imread() diff --git a/qurator/eynollah/utils/pil_cv2.py b/qurator/eynollah/utils/pil_cv2.py index d7cd18d..12c94c9 100644 --- a/qurator/eynollah/utils/pil_cv2.py +++ b/qurator/eynollah/utils/pil_cv2.py @@ -15,10 +15,12 @@ def pil2cv(img): return cvtColor(pil_as_np_array, color_conversion) def check_dpi(image_filename): - exif = OcrdExif(Image.open(image_filename)) - print(exif.to_xml()) - resolution = exif.resolution - if exif.resolutionUnit == 'cm': - resolution /= 2.54 - return int(resolution) + try: + exif = OcrdExif(Image.open(image_filename)) + resolution = exif.resolution + if exif.resolutionUnit == 'cm': + resolution /= 2.54 + return int(resolution) + except: + return 230