livesketch / src /streamlit_app.py
OKTAYBBS's picture
Update src/streamlit_app.py
3380594 verified
Raw
History Blame Contribute Delete
1.13 kB
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 image', type=['jpg', 'jpeg', 'png'])
if file:
img = Image.open(file).convert('RGB')
img2 = np.array(img)
# 1. Görüntüyü OpenCV formatına (BGR) çevir
img_bw = cv2.cvtColor(img2, cv2.COLOR_RGB2BGR)
# FIX: BGR formatından Gray (Gri) formata çeviriyoruz
gray = cv2.cvtColor(img_bw, cv2.COLOR_BGR2GRAY)
# 2. Tersine çevir ve bulanıklaştır
inverted = 255 - gray
blurred = cv2.GaussianBlur(inverted, (21, 21), 0)
# 3. Sketch efekti uygula
def dodge(front, back):
return cv2.divide(front, 255 - back, scale=256)
sketch = dodge(blurred, gray)
# 4. Ekranda Göster
st.subheader('Original vs Sketch')
col1, col2 = st.columns(2)
with col1:
st.image(img, caption='Original Image', use_column_width=True)
with col2:
# Sketch tek kanallı (gri) olduğu için çıktı daha nettir
st.image(sketch, caption='Sketch Image', use_column_width=True)