Spaces:
Build error
Build error
| import streamlit as st | |
| from PIL import Image, ImageEnhance, ImageFilter | |
| import numpy as np | |
| def main(): | |
| st.title("Streamlit Image Editor") | |
| # Sidebar | |
| st.sidebar.header("Editor Options") | |
| # File uploader | |
| uploaded_image = st.sidebar.file_uploader("Upload an image", type=["jpg", "jpeg", "png"]) | |
| if uploaded_image is not None: | |
| image = Image.open(uploaded_image) | |
| st.image(image, caption="Uploaded Image", use_column_width=True) | |
| # Filters | |
| st.sidebar.subheader("Apply Filters") | |
| filter_type = st.sidebar.radio("Choose a filter:", ["None", "Grayscale", "Blur", "Edge Enhance"]) | |
| if filter_type == "Grayscale": | |
| image = image.convert("L") | |
| elif filter_type == "Blur": | |
| image = image.filter(ImageFilter.BLUR) | |
| elif filter_type == "Edge Enhance": | |
| image = image.filter(ImageFilter.EDGE_ENHANCE) | |
| # Brightness Adjustment | |
| st.sidebar.subheader("Adjust Brightness") | |
| brightness_level = st.sidebar.slider("Brightness", 0.1, 3.0, 1.0) | |
| enhancer = ImageEnhance.Brightness(image) | |
| image = enhancer.enhance(brightness_level) | |
| # Contrast Adjustment | |
| st.sidebar.subheader("Adjust Contrast") | |
| contrast_level = st.sidebar.slider("Contrast", 0.1, 3.0, 1.0) | |
| enhancer = ImageEnhance.Contrast(image) | |
| image = enhancer.enhance(contrast_level) | |
| # Display edited image | |
| st.image(image, caption="Edited Image", use_column_width=True) | |
| # Download button | |
| st.sidebar.subheader("Download Edited Image") | |
| edited_image_name = "edited_image.png" | |
| image.save(edited_image_name) | |
| with open(edited_image_name, "rb") as file: | |
| st.sidebar.download_button( | |
| label="Download", | |
| data=file, | |
| file_name="edited_image.png", | |
| mime="image/png" | |
| ) | |
| if __name__ == "__main__": | |
| main() | |