From cea9a34de2e8800cc273cc3f2f41176e015fd0a8 Mon Sep 17 00:00:00 2001
From: Sam Pasquesi <spasquesi19@gmail.com>
Date: Mon, 6 Mar 2023 18:50:15 -0600
Subject: [PATCH] autocrop run from bash

---
 crop/autocrop.py | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/crop/autocrop.py b/crop/autocrop.py
index 79e3be1..2e78413 100644
--- a/crop/autocrop.py
+++ b/crop/autocrop.py
@@ -5,14 +5,14 @@ from pillow_heif import register_heif_opener
 register_heif_opener()
 import numpy as np
 import cv2
+import sys
 
-# only does not work with heif rn
-def crop(imgpath, destpath, debug=False):
+# does not work with heif rn
+def crop(imgpath, destpath, sensitivity=110, debug=False):
     img = cv2.imread(imgpath)
     hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
 
     # Define lower and uppper limits of what we call "white-ish"
-    sensitivity = 110
     lower_white = np.array([0, 0, 255 - sensitivity])
     upper_white = np.array([255, sensitivity, 255])
 
@@ -97,4 +97,17 @@ def crop(imgpath, destpath, debug=False):
     Image.fromarray(warped_rgb).save(destpath)
     if debug:
         Image.fromarray(page).save(destpath+"page.jpg")
-        Image.fromarray(polygon_rgb).save(destpath+"polygon.jpg")
\ No newline at end of file
+        Image.fromarray(polygon_rgb).save(destpath+"polygon.jpg")
+
+if len(sys.argv) < 3 or len(sys.argv) > 5 :
+    sys.print("Format: python autocrop.py imgpath destpath [sensitivity=110] [debug=False]")
+    exit(1)
+
+if len(sys.argv) == 3:
+    crop(sys.argv[1], sys.argv[2])
+elif len(sys.argv) == 5:
+    crop(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4])
+elif type(sys.argv[3]) is int:
+    crop(sys.argv[1], sys.argv[2], sensitivity=sys.argv[3])
+else:
+    crop(sys.argv[1], sys.argv[2], debug=sys.argv[3])
\ No newline at end of file
-- 
GitLab