gilrmdhn commited on
Commit
b9edeeb
·
verified ·
1 Parent(s): acef206

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -18
app.py CHANGED
@@ -2,30 +2,36 @@ import gradio as gr
2
  import cv2
3
  import numpy as np
4
  from PIL import Image
 
5
 
6
  def convert_to_sketch(image):
7
- img = np.array(image)
8
 
9
- #ubah gambar ke grayscale
10
- gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
11
 
12
- #inversi warna
13
- inverted_image = cv2.bitwise_not(gray_image)
14
 
15
- #terapkan gaussian blur
16
- blurred = cv2.GaussianBlur(inverted_image, (21, 21), sigmaX=0, sigmaY=0)
17
 
18
- #inversi hasil blur
19
- inverted_blurred = cv2.bitwise_not(blurred)
20
 
21
- #buat sketsa
22
- sketch = cv2.divide(gray_image, inverted_blurred, scale=256.0)
23
 
24
- return sketch
25
 
26
- #interface
27
- gr.Interface(fn=convert_to_sketch,
28
- inputs="image",
29
- outputs="image",
30
- title="Konversi gambar ke sketsa",
31
- description="Unggah gambar dan dapatkan versi sketsa").launch()
 
 
 
 
 
 
 
 
 
 
 
2
  import cv2
3
  import numpy as np
4
  from PIL import Image
5
+ import os
6
 
7
  def convert_to_sketch(image):
8
+ img = np.array(image)
9
 
10
+ gray_image = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
 
11
 
12
+ inverted_image = cv2.bitwise_not(gray_image)
 
13
 
14
+ blurred = cv2.GaussianBlur(inverted_image, (21, 21), sigmaX=0, sigmaY=0)
 
15
 
16
+ inverted_blurred = cv2.bitwise_not(blurred)
 
17
 
18
+ sketch = cv2.divide(gray_image, inverted_blurred, scale=256.0)
 
19
 
20
+ sketch_image = Image.fromarray(sketch)
21
 
22
+ output_path = "sketch_result.png"
23
+ sketch_image.save(output_path)
24
+
25
+ return sketch_image, output_path
26
+
27
+ # Interface
28
+ gr.Interface(
29
+ fn=convert_to_sketch,
30
+ inputs="image",
31
+ outputs=[
32
+ gr.Image(label="Pratinjau Sketsa"),
33
+ gr.File(label="Unduh Gambar Sketsa")
34
+ ],
35
+ title="Konversi gambar ke sketsa",
36
+ description="Unggah gambar dan dapatkan versi sketsa sebagai pratinjau dan file unduhan"
37
+ ).launch()