mallelapreethi commited on
Commit
d8a38ad
1 Parent(s): d2f9255

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +38 -0
app.py ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import cv2
3
+ import numpy as np
4
+ from PIL import Image
5
+
6
+ def image_to_sketch(image):
7
+ gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
8
+ inverted_image = 255 - gray_image
9
+ blurred_image = cv2.GaussianBlur(inverted_image, (21, 21), 0)
10
+ inverted_blurred = 255 - blurred_image
11
+ sketch = cv2.divide(gray_image, inverted_blurred, scale=256.0)
12
+ return sketch
13
+
14
+ st.title("Image to Sketch Converter")
15
+
16
+ uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"])
17
+
18
+ if uploaded_file is not None:
19
+ image = np.array(Image.open(uploaded_file))
20
+ st.image(image, caption='Uploaded Image', use_column_width=True)
21
+
22
+ st.write("")
23
+ st.write("Converting...")
24
+
25
+ sketch = image_to_sketch(image)
26
+
27
+ st.image(sketch, caption='Sketch', use_column_width=True)
28
+
29
+ # Provide a download link for the sketch image
30
+ im_pil = Image.fromarray(sketch)
31
+ im_pil.save("sketch.png")
32
+ with open("sketch.png", "rb") as file:
33
+ btn = st.download_button(
34
+ label="Download Sketch",
35
+ data=file,
36
+ file_name="sketch.png",
37
+ mime="image/png"
38
+ )