Spaces:
Running
Running
import gradio as gr | |
import cv2 | |
import numpy as np | |
from PIL import Image | |
import os | |
def convert_to_sketch(image): | |
img = np.array(image) | |
gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) | |
inverted_image = cv2.bitwise_not(gray_image) | |
blurred = cv2.GaussianBlur(inverted_image, (21, 21), sigmaX=0, sigmaY=0) | |
inverted_blurred = cv2.bitwise_not(blurred) | |
sketch = cv2.divide(gray_image, inverted_blurred, scale=256.0) | |
sketch_image = Image.fromarray(sketch) | |
output_path = "sketch_result.png" | |
sketch_image.save(output_path) | |
return sketch_image, output_path | |
# Interface | |
gr.Interface( | |
fn=convert_to_sketch, | |
inputs="image", | |
outputs=[ | |
gr.Image(label="Pratinjau Sketsa"), | |
gr.File(label="Unduh Gambar Sketsa") | |
], | |
title="Konversi gambar ke sketsa", | |
description="Unggah gambar dan dapatkan versi sketsa sebagai pratinjau dan file unduhan" | |
).launch() | |