Update app.py
Browse files
app.py
CHANGED
@@ -54,20 +54,11 @@ def process_image(image: Image.Image):
|
|
54 |
# two extremes: no blur for near, heavy blur for far
|
55 |
near_blur = img_np
|
56 |
far_blur = cv2.GaussianBlur(img_np, (81,81), 20)
|
57 |
-
|
58 |
-
|
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 |
-
|
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,
|
|
|
54 |
# two extremes: no blur for near, heavy blur for far
|
55 |
near_blur = img_np
|
56 |
far_blur = cv2.GaussianBlur(img_np, (81,81), 20)
|
57 |
+
alpha = depth_norm[...,None]
|
58 |
+
combined = near_blur * (1.0 - alpha) + far_blur * alpha
|
|
|
|
|
|
|
|
|
|
|
59 |
lens_blur = Image.fromarray(np.clip(combined,0,255).astype(np.uint8))
|
60 |
|
61 |
+
return image, output_blur, lens_blur
|
|
|
|
|
|
|
|
|
62 |
|
63 |
iface = gr.Interface(
|
64 |
fn=process_image,
|