Spaces:
Running
Running
Update
Browse files
app.py
CHANGED
@@ -27,12 +27,24 @@ def encode_image_as_base64(image: Image.Image) -> str:
|
|
27 |
return base64.b64encode(buffered.getvalue()).decode("utf-8")
|
28 |
|
29 |
|
30 |
-
def make_example(image_path: Path) -> EditorValue:
|
31 |
background_image = Image.open(image_path)
|
32 |
background_image = background_image.convert("RGB")
|
33 |
background = np.array(background_image)
|
34 |
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
layer = np.zeros((background.shape[0], background.shape[1], 4), dtype=np.uint8)
|
38 |
layer[:, :, 3] = mask
|
@@ -198,7 +210,7 @@ with gr.Blocks(css=css) as demo:
|
|
198 |
)
|
199 |
image_and_mask_examples = gr.Examples(
|
200 |
examples=[
|
201 |
-
make_example(path)
|
202 |
for path in Path("./examples/scenes").glob("*.png")
|
203 |
],
|
204 |
label="Room examples",
|
|
|
27 |
return base64.b64encode(buffered.getvalue()).decode("utf-8")
|
28 |
|
29 |
|
30 |
+
def make_example(image_path: Path, mask_path: Path | None) -> EditorValue:
|
31 |
background_image = Image.open(image_path)
|
32 |
background_image = background_image.convert("RGB")
|
33 |
background = np.array(background_image)
|
34 |
|
35 |
+
if mask_path:
|
36 |
+
mask_image = Image.open(mask_path)
|
37 |
+
mask_image = mask_image.convert("RGB")
|
38 |
+
mask = np.array(mask_image)
|
39 |
+
mask = mask[:, :, 0]
|
40 |
+
mask = np.where(mask == 255, 0, 255) # noqa: PLR2004
|
41 |
+
else:
|
42 |
+
mask = np.zeros_like(background)
|
43 |
+
mask = mask[:, :, 0]
|
44 |
+
|
45 |
+
if background.shape[0] != mask.shape[0] or background.shape[1] != mask.shape[1]:
|
46 |
+
msg = "Background and mask must have the same shape"
|
47 |
+
raise ValueError(msg)
|
48 |
|
49 |
layer = np.zeros((background.shape[0], background.shape[1], 4), dtype=np.uint8)
|
50 |
layer[:, :, 3] = mask
|
|
|
210 |
)
|
211 |
image_and_mask_examples = gr.Examples(
|
212 |
examples=[
|
213 |
+
make_example(path, None)
|
214 |
for path in Path("./examples/scenes").glob("*.png")
|
215 |
],
|
216 |
label="Room examples",
|