hysts HF Staff commited on
Commit
1b591cd
·
1 Parent(s): 57ef34f
Files changed (1) hide show
  1. app.py +11 -19
app.py CHANGED
@@ -70,11 +70,11 @@ def binarize_mask(mask: np.ndarray) -> np.ndarray:
70
  return mask
71
 
72
 
73
- def update_trimap(foreground_mask_editor: dict, unknown_mask_editor: dict) -> np.ndarray:
74
- foreground = foreground_mask_editor["layers"][0]
75
  foreground = binarize_mask(foreground)
76
 
77
- unknown = unknown_mask_editor["layers"][0]
78
  unknown = binarize_mask(unknown)
79
 
80
  trimap = np.zeros_like(foreground)
@@ -161,25 +161,17 @@ with gr.Blocks(css_paths="style.css") as demo:
161
  with gr.Tab(label="Trimap"):
162
  trimap = gr.Image(label="Trimap", type="pil", image_mode="L")
163
  with gr.Tab(label="Draw trimap"):
164
- foreground_mask = gr.ImageEditor(
165
- label="Foreground",
166
  type="numpy",
167
  sources=("upload",),
168
  transforms=(),
169
  image_mode="L",
170
  height=500,
171
  brush=gr.Brush(default_color=("#00ff00", 0.6)),
172
- layers=gr.LayerOptions(allow_additional_layers=False, layers=["Foreground mask"]),
173
- )
174
- unknown_mask = gr.ImageEditor(
175
- label="Unknown",
176
- type="numpy",
177
- sources=("upload",),
178
- transforms=(),
179
- image_mode="L",
180
- height=500,
181
- brush=gr.Brush(default_color=("#00ff00", 0.6)),
182
- layers=gr.LayerOptions(allow_additional_layers=False, layers=["Unknown mask"]),
183
  )
184
  generate_trimap_button = gr.Button("Generate trimap")
185
  apply_background_replacement = gr.Checkbox(label="Replace background", value=False)
@@ -219,14 +211,14 @@ with gr.Blocks(css_paths="style.css") as demo:
219
  outputs=image,
220
  api_name=False,
221
  ).then(
222
- fn=lambda image: (image, image),
223
  inputs=image,
224
- outputs=[foreground_mask, unknown_mask],
225
  api_name=False,
226
  )
227
  generate_trimap_button.click(
228
  fn=update_trimap,
229
- inputs=[foreground_mask, unknown_mask],
230
  outputs=trimap,
231
  api_name=False,
232
  )
 
70
  return mask
71
 
72
 
73
+ def update_trimap(mask_editor: dict) -> np.ndarray:
74
+ foreground = mask_editor["layers"][0]
75
  foreground = binarize_mask(foreground)
76
 
77
+ unknown = mask_editor["layers"][1]
78
  unknown = binarize_mask(unknown)
79
 
80
  trimap = np.zeros_like(foreground)
 
161
  with gr.Tab(label="Trimap"):
162
  trimap = gr.Image(label="Trimap", type="pil", image_mode="L")
163
  with gr.Tab(label="Draw trimap"):
164
+ mask_editor = gr.ImageEditor(
165
+ label="Masks",
166
  type="numpy",
167
  sources=("upload",),
168
  transforms=(),
169
  image_mode="L",
170
  height=500,
171
  brush=gr.Brush(default_color=("#00ff00", 0.6)),
172
+ layers=gr.LayerOptions(
173
+ allow_additional_layers=False, layers=["Foreground mask", "Unknown mask"]
174
+ ),
 
 
 
 
 
 
 
 
175
  )
176
  generate_trimap_button = gr.Button("Generate trimap")
177
  apply_background_replacement = gr.Checkbox(label="Replace background", value=False)
 
211
  outputs=image,
212
  api_name=False,
213
  ).then(
214
+ fn=lambda image: image,
215
  inputs=image,
216
+ outputs=mask_editor,
217
  api_name=False,
218
  )
219
  generate_trimap_button.click(
220
  fn=update_trimap,
221
+ inputs=mask_editor,
222
  outputs=trimap,
223
  api_name=False,
224
  )