TIMBOVILL commited on
Commit
5dbde27
·
verified ·
1 Parent(s): 691552e

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +36 -0
app.py ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ from PIL import Image
3
+ import numpy as np
4
+ import io
5
+
6
+ def brightness_to_opacity(image):
7
+ # Ensure it's RGB
8
+ img = image.convert("RGB")
9
+ img_array = np.array(img)
10
+
11
+ # Compute grayscale (luminance)
12
+ gray = np.dot(img_array[...,:3], [0.299, 0.587, 0.114]).astype(np.uint8)
13
+
14
+ # Use grayscale as alpha
15
+ alpha = gray
16
+
17
+ # Optional: set RGB to white (or use img_array to preserve color)
18
+ white_rgb = np.ones_like(img_array) * 255
19
+ rgba_array = np.dstack((white_rgb, alpha))
20
+
21
+ # Convert to Image and return
22
+ result_img = Image.fromarray(rgba_array.astype(np.uint8), mode="RGBA")
23
+ return result_img
24
+
25
+ # Gradio Interface
26
+ iface = gr.Interface(
27
+ fn=brightness_to_opacity,
28
+ inputs=gr.Image(type="pil", label="Upload Image"),
29
+ outputs=gr.Image(type="pil", label="Output (Brightness → Opacity)"),
30
+ title="Brightness to Opacity Converter",
31
+ description="This tool converts image brightness into opacity. Bright areas become visible, dark areas become transparent."
32
+ )
33
+
34
+ # Launch the app
35
+ if __name__ == "__main__":
36
+ iface.launch()