Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import cv2 | |
| import numpy as np | |
| from PIL import Image | |
| st.title('Image to Sketch') | |
| file = st.file_uploader('Upload an portrait image', type=['jpg', 'png', 'jpeg']) | |
| if file: | |
| img = Image.open(file).convert('RGB') | |
| img_np = np.array(img) | |
| img_bw = cv2.cvtColor(img_np, cv2.COLOR_RGB2BGR) | |
| gray = cv2.cvtColor(img_bw, cv2.COLOR_RGB2GRAY) | |
| inverted = 255 - gray | |
| blurred = cv2.GaussianBlur(inverted, (21, 21), 0) | |
| def dodge(front, back): | |
| return cv2.divide(front, 255 - back, scale=255) | |
| sketch = dodge(gray, blurred) | |
| st.subheader('Original vs Sketch') | |
| col1, col2 = st.columns(2) | |
| with col1: | |
| st.image(img, caption='Original', use_column_width=True) | |
| with col2: | |
| st.image(sketch, caption='Sketch') | |