import streamlit as st from PIL import Image, ImageOps # Function to apply effects def apply_effect(image, effect): if effect == "kiss": image = image.convert("L") # Convert to grayscale elif effect == "sepia": sepia_img = ImageOps.colorize(image.convert("L"), black="black", white="orange") image = sepia_img elif effect == "invert": image = ImageOps.invert(image.convert("RGB")) return image # Streamlit app st.title("Image Effect Converter") # Upload image uploaded_file = st.file_uploader("Upload an image", type=["jpg", "png", "jpeg"]) if uploaded_file is not None: # Display the uploaded image image = Image.open(uploaded_file) st.image(image, caption="Uploaded Image", use_column_width=True) # Select an effect effect = st.selectbox("Choose an effect", ["kiss", "sepia", "invert"]) # Apply effect if st.button("Apply Effect"): processed_image = apply_effect(image, effect) st.image(processed_image, caption="Processed Image", use_column_width=True) # Download button processed_image.save("processed_image.png") with open("processed_image.png", "rb") as file: st.download_button( label="Download Image", data=file, file_name="processed_image.png", mime="image/png" )