mallelapreethi's picture
Create app.py
d8a38ad verified
raw
history blame
1.15 kB
import streamlit as st
import cv2
import numpy as np
from PIL import Image
def image_to_sketch(image):
gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
inverted_image = 255 - gray_image
blurred_image = cv2.GaussianBlur(inverted_image, (21, 21), 0)
inverted_blurred = 255 - blurred_image
sketch = cv2.divide(gray_image, inverted_blurred, scale=256.0)
return sketch
st.title("Image to Sketch Converter")
uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"])
if uploaded_file is not None:
image = np.array(Image.open(uploaded_file))
st.image(image, caption='Uploaded Image', use_column_width=True)
st.write("")
st.write("Converting...")
sketch = image_to_sketch(image)
st.image(sketch, caption='Sketch', use_column_width=True)
# Provide a download link for the sketch image
im_pil = Image.fromarray(sketch)
im_pil.save("sketch.png")
with open("sketch.png", "rb") as file:
btn = st.download_button(
label="Download Sketch",
data=file,
file_name="sketch.png",
mime="image/png"
)