Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
@@ -239,14 +239,22 @@ def merge_alpha(img, sigma=0.0):
|
|
239 |
print(f"img.shape: {img.shape}")
|
240 |
|
241 |
if C == 3:
|
|
|
242 |
return img
|
243 |
elif C == 4:
|
244 |
-
rgb = img[:, :, :3]
|
245 |
-
alpha = img[:, :, 3]
|
246 |
-
|
|
|
|
|
|
|
|
|
|
|
247 |
return np.clip(result, 0, 255).astype(np.uint8)
|
248 |
else:
|
249 |
raise ValueError(f"Unexpected number of channels: {C}")
|
|
|
|
|
250 |
|
251 |
|
252 |
@torch.inference_mode()
|
|
|
239 |
print(f"img.shape: {img.shape}")
|
240 |
|
241 |
if C == 3:
|
242 |
+
img, _ = run_rmbg(img)
|
243 |
return img
|
244 |
elif C == 4:
|
245 |
+
rgb = img[:, :, :3].astype(np.float32)
|
246 |
+
alpha = img[:, :, 3].astype(np.float32) / 255.0
|
247 |
+
|
248 |
+
result = rgb * alpha[:, :, np.newaxis] + 255 * (1 - alpha[:, :, np.newaxis])
|
249 |
+
|
250 |
+
if sigma != 0:
|
251 |
+
result += sigma * alpha[:, :, np.newaxis]
|
252 |
+
|
253 |
return np.clip(result, 0, 255).astype(np.uint8)
|
254 |
else:
|
255 |
raise ValueError(f"Unexpected number of channels: {C}")
|
256 |
+
else:
|
257 |
+
raise ValueError(f"Unexpected number of channels: {C}")
|
258 |
|
259 |
|
260 |
@torch.inference_mode()
|