sessex commited on
Commit
37b14ba
·
1 Parent(s): a987a32

inverse mask option

Browse files
Files changed (1) hide show
  1. app.py +6 -2
app.py CHANGED
@@ -52,14 +52,16 @@ def extract_image(img, pos_prompts, neg_prompts, threshold):
52
  pos_mask = np.any(np.stack(positive_masks), axis=0)
53
  neg_mask = np.any(np.stack(negative_masks), axis=0)
54
  final_mask = pos_mask & ~neg_mask
 
55
 
56
  # extract the final image
57
  final_mask = Image.fromarray(final_mask.astype(np.uint8) * 255, "L")
 
58
  output_image = Image.new("RGBA", img.size, (0, 0, 0, 0))
59
  output_image.paste(img, mask=final_mask)
60
 
61
  orig_image = img
62
- return output_image, final_mask, orig_image
63
 
64
 
65
  title = "Interactive demo: zero-shot image segmentation with CLIPSeg"
@@ -91,6 +93,8 @@ with gr.Blocks() as demo:
91
  output_image = gr.Image(label="Result")
92
  output_mask = gr.Image(label="Mask")
93
  orig_image = gr.Image(label="Orig")
 
 
94
 
95
  btn_process.click(
96
  extract_image,
@@ -100,7 +104,7 @@ with gr.Blocks() as demo:
100
  negative_prompts,
101
  input_slider_T,
102
  ],
103
- outputs=[output_image, output_mask, orig_image],
104
  api_name="mask"
105
  )
106
 
 
52
  pos_mask = np.any(np.stack(positive_masks), axis=0)
53
  neg_mask = np.any(np.stack(negative_masks), axis=0)
54
  final_mask = pos_mask & ~neg_mask
55
+ inverse_mask = pos_mask
56
 
57
  # extract the final image
58
  final_mask = Image.fromarray(final_mask.astype(np.uint8) * 255, "L")
59
+ inverse_mask = Image.fromarray(pos_mask.astype(np.uint8) * 255, "L")
60
  output_image = Image.new("RGBA", img.size, (0, 0, 0, 0))
61
  output_image.paste(img, mask=final_mask)
62
 
63
  orig_image = img
64
+ return output_image, final_mask, orig_image, inverse_mask
65
 
66
 
67
  title = "Interactive demo: zero-shot image segmentation with CLIPSeg"
 
93
  output_image = gr.Image(label="Result")
94
  output_mask = gr.Image(label="Mask")
95
  orig_image = gr.Image(label="Orig")
96
+ inverse_mask = gr.Image(label="Inverse")
97
+
98
 
99
  btn_process.click(
100
  extract_image,
 
104
  negative_prompts,
105
  input_slider_T,
106
  ],
107
+ outputs=[output_image, output_mask, orig_image, inverse_mask],
108
  api_name="mask"
109
  )
110