Update app.py
Browse files
app.py
CHANGED
@@ -56,17 +56,18 @@ def process_image(image: Image.Image):
|
|
56 |
far_blur = cv2.GaussianBlur(img_np, (81,81), 20)
|
57 |
|
58 |
# invert so 0 -> near, 1 -> far
|
59 |
-
inv_d
|
60 |
-
alpha
|
61 |
|
62 |
# now near (inv_d≈1) stays sharp, far (inv_d≈0) becomes far_blur
|
63 |
combined = img_np * alpha + far_blur * (1.0 - alpha)
|
64 |
lens_blur = Image.fromarray(np.clip(combined,0,255).astype(np.uint8))
|
65 |
|
66 |
-
# 6) composite to keep foreground sharp
|
67 |
-
|
|
|
|
|
68 |
final_lens_blur = Image.composite(lens_blur, image, mask=bg_mask)
|
69 |
-
return image, output_blur, final_lens_blur
|
70 |
|
71 |
iface = gr.Interface(
|
72 |
fn=process_image,
|
|
|
56 |
far_blur = cv2.GaussianBlur(img_np, (81,81), 20)
|
57 |
|
58 |
# invert so 0 -> near, 1 -> far
|
59 |
+
inv_d = 1.0 - depth_norm
|
60 |
+
alpha = inv_d[...,None]
|
61 |
|
62 |
# now near (inv_d≈1) stays sharp, far (inv_d≈0) becomes far_blur
|
63 |
combined = img_np * alpha + far_blur * (1.0 - alpha)
|
64 |
lens_blur = Image.fromarray(np.clip(combined,0,255).astype(np.uint8))
|
65 |
|
66 |
+
# 6) composite to keep foreground sharp
|
67 |
+
mask_np = np.array(mask)
|
68 |
+
inv_mask = (mask_np == 0).astype(np.uint8) * 255
|
69 |
+
bg_mask = Image.fromarray(inv_mask)
|
70 |
final_lens_blur = Image.composite(lens_blur, image, mask=bg_mask)
|
|
|
71 |
|
72 |
iface = gr.Interface(
|
73 |
fn=process_image,
|