itsyogesh commited on
Commit
eb476cc
·
verified ·
1 Parent(s): 9a7c58d

Add functionality for dark images.

Browse files
Files changed (1) hide show
  1. app.py +19 -1
app.py CHANGED
@@ -68,6 +68,21 @@ def build_model(hypar,device):
68
  net.eval()
69
  return net
70
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
 
72
  def predict(net, inputs_val, shapes_val, hypar, device):
73
  '''
@@ -129,11 +144,14 @@ def inference(image):
129
 
130
  pil_mask = Image.fromarray(mask).convert('L')
131
  im_rgb = Image.open(image).convert("RGB")
 
 
132
 
133
  im_rgba = im_rgb.copy()
134
  im_rgba.putalpha(pil_mask)
 
135
 
136
- return [im_rgba, pil_mask]
137
 
138
 
139
  title = "Mysign.id - Signature Background removal based on DIS"
 
68
  net.eval()
69
  return net
70
 
71
+
72
+ def crop_to_signature(mask):
73
+ contours, _ = cv2.findContours(mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
74
+ if contours:
75
+ # Assume the largest contour is the signature
76
+ x, y, w, h = cv2.boundingRect(max(contours, key=cv2.contourArea))
77
+ # Add some padding to the bounding box
78
+ padding = 32
79
+ x, y, w, h = x-padding, y-padding, w+2*padding, h+2*padding
80
+ # Crop the mask
81
+ cropped_mask = mask[y:y+h, x:x+w]
82
+ return cropped_mask
83
+ else:
84
+ return mask # Return the original mask if no contours are found
85
+
86
 
87
  def predict(net, inputs_val, shapes_val, hypar, device):
88
  '''
 
144
 
145
  pil_mask = Image.fromarray(mask).convert('L')
146
  im_rgb = Image.open(image).convert("RGB")
147
+ im_dark = Image.new('RGB', im_rgb.size, (0, 0, 0))
148
+
149
 
150
  im_rgba = im_rgb.copy()
151
  im_rgba.putalpha(pil_mask)
152
+ im_dark.putalpha(pil_mask)
153
 
154
+ return [im_rgba, pil_mask, im_dark]
155
 
156
 
157
  title = "Mysign.id - Signature Background removal based on DIS"