import streamlit as st from PIL import Image, ImageFilter st.title("Simple Image Editor") st.write("Upload an image to enhance it with filters.") uploaded_file = st.file_uploader("Choose an image:", type=["jpg", "jpeg", "png"]) if uploaded_file is not None: # Read the uploaded image image = Image.open(uploaded_file) # Create a sidebar for filter selection selected_filter = st.sidebar.selectbox("Select a Filter:", ("Original", "Grayscale", "Brightness Adjustment")) if selected_filter == "Grayscale": # Apply grayscale filter filtered_image = image.convert("L") elif selected_filter == "Brightness Adjustment": # Add a slider for brightness adjustment brightness_value = st.sidebar.slider("Brightness", min_value=-100, max_value=100, value=0) # Apply brightness adjustment (consider using a more robust method) filtered_image = image.filter(ImageEnhance.Brightness(image).enhance(1.0 + brightness_value / 100.0)) else: # Display the original image filtered_image = image # Display the original and filtered images col1, col2 = st.columns(2) with col1: st.subheader("Original Image") st.image(image, width=256) with col2: st.subheader(f"{selected_filter} Image") st.image(filtered_image, width=256) # Download button for the edited image if st.button("Download Edited Image"): with open("edited_image.jpg", "wb") as f: filtered_image.save(f, "JPEG") st.success("Image downloaded successfully!")