Spaces:
Sleeping
Sleeping
Download Convert.py from Besimplestudio/Image2sketch: direct link, hf CLI and curl.
- Browser
- Download file 1.19 kB
-
https://huggingface.co/spaces/Besimplestudio/Image2sketch/resolve/main/Convert.py
- Command line
-
hf download hf://spaces/Besimplestudio/Image2sketch/Convert.py
-
curl -L -o Convert.py https://huggingface.co/spaces/Besimplestudio/Image2sketch/resolve/main/Convert.py
1.19 kB
| import cv2 | |
| from PIL import Image | |
| import numpy as np | |
| import gradio as gr | |
| # Convert image to sketch function | |
| def convert_to_sketch(img, blur_strength): | |
| img = np.array(img) # Convert PIL Image to numpy array | |
| img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) | |
| img_inverted = cv2.bitwise_not(img_gray) | |
| img_blur = cv2.GaussianBlur(img_inverted, (blur_strength, blur_strength), sigmaX=0, sigmaY=0) | |
| img_blend = cv2.divide(img_gray, 255 - img_blur, scale=256) | |
| white_background = 255 * np.ones_like(img_blend) | |
| sketch_with_bg = cv2.addWeighted(img_blend, 1, white_background, 1, 0) | |
| return sketch_with_bg | |
| # Gradio interface function | |
| def sketch_interface(image, blur_strength): | |
| sketch = convert_to_sketch(image, blur_strength) | |
| return Image.fromarray(sketch) | |
| # Create Gradio interface | |
| interface = gr.Interface( | |
| fn=sketch_interface, | |
| inputs=[gr.Image(type="pil"), gr.Slider(1, 51, step=2, label="Blur Strength", value=21)], | |
| outputs=gr.Image(type="pil"), | |
| title="Cartoon to Sketch Converter", | |
| description="Upload an image to convert it into a sketch, and adjust the blur strength for different effects." | |
| ) | |
| # Launch the Gradio app | |
| interface.launch() |