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()