From 30dfe88aa169958683a3e037b09f8f6605959018 Mon Sep 17 00:00:00 2001 From: Ian Andwati Date: Fri, 16 Jun 2023 07:40:19 +0300 Subject: [PATCH] Added function to isolate images below 75kb --- sorter/image_sorter.py | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/sorter/image_sorter.py b/sorter/image_sorter.py index 80ae96e..d9e0d01 100644 --- a/sorter/image_sorter.py +++ b/sorter/image_sorter.py @@ -10,7 +10,31 @@ max_value = 255 threshold_type = cv2.THRESH_BINARY -def process_image(image_path,pass_folder,reject_folder): +def is_image_below_threshold(image_path, size_threshold): + """If the image size is below the threshold, regardless of the thresholding + result, the image will be moved to the reject folder. + + Args: + image_path (_type_): _description_ + size_threshold (_type_): _description_ + + Returns: + _type_: _description_ + """ + image_path = Path(image_path) + size = image_path.stat().st_size + return size < size_threshold + + +def process_image(image_path,pass_folder,reject_folder,size_threshold=75*1024): + """_summary_ + + Args: + image_path (_type_): _description_ + pass_folder (_type_): _description_ + reject_folder (_type_): _description_ + size_threshold (_type_, optional): _description_. Defaults to 75*1024. + """ image_path = Path(image_path) filename = image_path.name image = cv2.imread(str(image_path)) @@ -25,4 +49,7 @@ def process_image(image_path,pass_folder,reject_folder): else: destination_folder = reject_folder + if is_image_below_threshold(image_path, size_threshold): + destination_folder = reject_folder + shutil.move(str(image_path), str(destination_folder / filename)) \ No newline at end of file