Umerji commited on
Commit
1a2e6c6
·
verified ·
1 Parent(s): 372e9b5

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +61 -0
app.py CHANGED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ from PIL import Image, ImageFilter, ImageEnhance
3
+ import numpy as np
4
+ import io
5
+
6
+ def apply_filter(image, filter_type):
7
+ if filter_type == "Grayscale":
8
+ return image.convert("L")
9
+ elif filter_type == "Blur":
10
+ return image.filter(ImageFilter.BLUR)
11
+ elif filter_type == "Contour":
12
+ return image.filter(ImageFilter.CONTOUR)
13
+ elif filter_type == "Edge Enhance":
14
+ return image.filter(ImageFilter.EDGE_ENHANCE)
15
+ elif filter_type == "Sharpen":
16
+ return image.filter(ImageFilter.SHARPEN)
17
+ else:
18
+ return image
19
+
20
+ def main():
21
+ st.title("Image Editor")
22
+
23
+ st.sidebar.title("Editor Options")
24
+ filter_option = st.sidebar.selectbox("Choose a filter:", [
25
+ "None", "Grayscale", "Blur", "Contour", "Edge Enhance", "Sharpen"
26
+ ])
27
+
28
+ brightness = st.sidebar.slider("Adjust Brightness", 0.5, 3.0, 1.0)
29
+ contrast = st.sidebar.slider("Adjust Contrast", 0.5, 3.0, 1.0)
30
+
31
+ uploaded_file = st.file_uploader("Upload an image", type=["jpg", "jpeg", "png"])
32
+
33
+ if uploaded_file is not None:
34
+ image = Image.open(uploaded_file)
35
+ st.image(image, caption="Uploaded Image", use_column_width=True)
36
+
37
+ # Apply filter
38
+ edited_image = apply_filter(image, filter_option)
39
+
40
+ # Adjust brightness and contrast
41
+ enhancer = ImageEnhance.Brightness(edited_image)
42
+ edited_image = enhancer.enhance(brightness)
43
+ enhancer = ImageEnhance.Contrast(edited_image)
44
+ edited_image = enhancer.enhance(contrast)
45
+
46
+ st.image(edited_image, caption="Edited Image", use_column_width=True)
47
+
48
+ # Download edited image
49
+ buf = io.BytesIO()
50
+ edited_image.save(buf, format="PNG")
51
+ byte_im = buf.getvalue()
52
+
53
+ st.download_button(
54
+ label="Download Edited Image",
55
+ data=byte_im,
56
+ file_name="edited_image.png",
57
+ mime="image/png",
58
+ )
59
+
60
+ if __name__ == "__main__":
61
+ main()