awais0300 commited on
Commit
127248d
·
verified ·
1 Parent(s): 7f2351c

Rename app.pi to app.py

Browse files
Files changed (2) hide show
  1. app.pi +0 -0
  2. app.py +46 -0
app.pi DELETED
File without changes
app.py ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from PIL import Image, ImageOps
3
+ import numpy as np
4
+ import cv2
5
+
6
+ def remove_colors(image: Image.Image) -> Image.Image:
7
+ """
8
+ Convert an image to grayscale.
9
+ """
10
+ gray_image = ImageOps.grayscale(image)
11
+ return gray_image
12
+
13
+ def reverse_edits(image: Image.Image) -> Image.Image:
14
+ """
15
+ Attempt to reverse edits by applying a smoothing filter to reduce harsh effects.
16
+ Note: Fully reversing edits is context-dependent and may not be completely achievable.
17
+ """
18
+ # Convert to OpenCV format
19
+ image_np = np.array(image)
20
+ image_cv = cv2.cvtColor(image_np, cv2.COLOR_RGB2BGR)
21
+
22
+ # Apply smoothing to remove harsh edits
23
+ restored_image = cv2.medianBlur(image_cv, 5)
24
+
25
+ # Convert back to PIL format
26
+ restored_image_pil = Image.fromarray(cv2.cvtColor(restored_image, cv2.COLOR_BGR2RGB))
27
+ return restored_image_pil
28
+
29
+ # Streamlit app UI
30
+ st.title("Image Processing: Remove Colors & Reverse Edits")
31
+
32
+ # File uploader
33
+ uploaded_file = st.file_uploader("Upload an image", type=["jpg", "jpeg", "png"])
34
+
35
+ if uploaded_file is not None:
36
+ # Load the image
37
+ image = Image.open(uploaded_file)
38
+ st.image(image, caption="Original Image", use_column_width=True)
39
+
40
+ # Process the image
41
+ st.subheader("Processed Images")
42
+ grayscale_image = remove_colors(image)
43
+ st.image(grayscale_image, caption="Grayscale Image", use_column_width=True)
44
+
45
+ restored_image = reverse_edits(image)
46
+ st.image(restored_image, caption="Edit-Reversed Image", use_column_width=True)