Image-Editor / app.py
Talha1786's picture
Create app.py
c3f6167 verified
raw
history blame
1.49 kB
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"
)