Spaces:
Sleeping
Sleeping
import streamlit as st | |
from PIL import Image, ImageEnhance | |
import numpy as np | |
# Function to apply grayscale filter | |
def apply_grayscale(image): | |
return image.convert("L") | |
# Function to adjust brightness | |
def adjust_brightness(image, factor): | |
enhancer = ImageEnhance.Brightness(image) | |
return enhancer.enhance(factor) | |
# Streamlit UI | |
st.title("Simple Image Editor") | |
# Upload image | |
uploaded_file = st.file_uploader("Choose an image", type=["jpg", "png", "jpeg"]) | |
if uploaded_file is not None: | |
# Open image | |
image = Image.open(uploaded_file) | |
# Display original image | |
st.image(image, caption="Original Image", use_column_width=True) | |
# Select filter to apply | |
filter_option = st.selectbox("Choose a filter", ("None", "Grayscale", "Brightness")) | |
# Apply selected filter | |
if filter_option == "Grayscale": | |
image = apply_grayscale(image) | |
elif filter_option == "Brightness": | |
factor = st.slider("Adjust brightness", 0.5, 2.0, 1.0) | |
image = adjust_brightness(image, factor) | |
# Display edited image | |
st.image(image, caption="Edited Image", use_column_width=True) | |
# Provide option to download the edited image | |
with st.spinner('Preparing your image for download...'): | |
image.save("edited_image.png") | |
st.download_button( | |
label="Download Edited Image", | |
data=open("edited_image.png", "rb").read(), | |
file_name="edited_image.png", | |
mime="image/png" | |
) | |