something / app.py
awais0300's picture
Rename app.pi to app.py
127248d verified
import streamlit as st
from PIL import Image, ImageOps
import numpy as np
import cv2
def remove_colors(image: Image.Image) -> Image.Image:
"""
Convert an image to grayscale.
"""
gray_image = ImageOps.grayscale(image)
return gray_image
def reverse_edits(image: Image.Image) -> Image.Image:
"""
Attempt to reverse edits by applying a smoothing filter to reduce harsh effects.
Note: Fully reversing edits is context-dependent and may not be completely achievable.
"""
# Convert to OpenCV format
image_np = np.array(image)
image_cv = cv2.cvtColor(image_np, cv2.COLOR_RGB2BGR)
# Apply smoothing to remove harsh edits
restored_image = cv2.medianBlur(image_cv, 5)
# Convert back to PIL format
restored_image_pil = Image.fromarray(cv2.cvtColor(restored_image, cv2.COLOR_BGR2RGB))
return restored_image_pil
# Streamlit app UI
st.title("Image Processing: Remove Colors & Reverse Edits")
# File uploader
uploaded_file = st.file_uploader("Upload an image", type=["jpg", "jpeg", "png"])
if uploaded_file is not None:
# Load the image
image = Image.open(uploaded_file)
st.image(image, caption="Original Image", use_column_width=True)
# Process the image
st.subheader("Processed Images")
grayscale_image = remove_colors(image)
st.image(grayscale_image, caption="Grayscale Image", use_column_width=True)
restored_image = reverse_edits(image)
st.image(restored_image, caption="Edit-Reversed Image", use_column_width=True)