something / app.py
awais0300's picture
Rename app.pi to app.py
127248d verified
Raw
History Blame Contribute Delete
1.53 kB
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)