image_filters / app.py
gdo's picture
Create app.py
0abd7e4 verified
raw
history blame contribute delete
994 Bytes
!pip install gradio opencv-python numpy
import gradio as gr
import cv2
import numpy as np
# Function to apply filters
def process_image(image, filter_type):
image = cv2.cvtColor(image, cv2.COLOR_RGB2BGR) # Convert to OpenCV format
if filter_type == "Grayscale":
processed = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
elif filter_type == "Blur":
processed = cv2.GaussianBlur(image, (15, 15), 0)
elif filter_type == "Edge Detection":
processed = cv2.Canny(image, 100, 200)
else:
processed = image # No filter
return processed
# Gradio Interface
demo = gr.Interface(
fn=process_image,
inputs=[
gr.Image(type="numpy"), # Upload Image
gr.Radio(["Grayscale", "Blur", "Edge Detection"], label="Choose Filter")
],
outputs="image",
title="🖼️ Image Filters & Processing",
description="Upload an image and apply filters like Grayscale, Blur, or Edge Detection."
)
# Launch the app
demo.launch()