vitamom commited on
Commit
90e44b5
ยท
verified ยท
1 Parent(s): ec17889

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -11
app.py CHANGED
@@ -1,27 +1,46 @@
1
  import gradio as gr
2
  import cv2
3
  import numpy as np
 
4
 
5
  def convert_to_grayscale(image):
6
  # ์ด๋ฏธ์ง€๋ฅผ ํ‘๋ฐฑ์œผ๋กœ ๋ณ€ํ™˜
7
  gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
8
- return gray_image
 
 
9
 
10
  def convert_and_save(image):
11
- # ์ด๋ฏธ์ง€๋ฅผ ํ‘๋ฐฑ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅํ•œ JPG ํŒŒ์ผ๋กœ ์ €์žฅ
 
 
12
  gray_image = convert_to_grayscale(image)
 
13
  output_path = "output.jpg"
 
14
  cv2.imwrite(output_path, gray_image)
15
- return gray_image, output_path
 
16
 
17
  # Gradio ์ธํ„ฐํŽ˜์ด์Šค ์ •์˜
18
- iface = gr.Interface(
19
- fn=convert_and_save,
20
- inputs="image",
21
- outputs=["image", "file"],
22
- title="์ด๋ฏธ์ง€ ํ‘๋ฐฑ ๋ณ€ํ™˜๊ธฐ",
23
- description="์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•˜๋ฉด ํ‘๋ฐฑ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , JPG ํŒŒ์ผ๋กœ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
24
- )
 
 
 
 
 
 
 
 
 
 
 
25
 
26
  if __name__ == "__main__":
27
- iface.launch()
 
1
  import gradio as gr
2
  import cv2
3
  import numpy as np
4
+ from gradio_imageslider import ImageSlider
5
 
6
  def convert_to_grayscale(image):
7
  # ์ด๋ฏธ์ง€๋ฅผ ํ‘๋ฐฑ์œผ๋กœ ๋ณ€ํ™˜
8
  gray_image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
9
+ # ํ‘๋ฐฑ ์ด๋ฏธ์ง€๋ฅผ BGR ํ˜•์‹์œผ๋กœ ๋‹ค์‹œ ๋ณ€ํ™˜ํ•˜์—ฌ 3์ฑ„๋„ ์ด๋ฏธ์ง€๋กœ ๋งŒ๋“ฆ
10
+ gray_image_bgr = cv2.cvtColor(gray_image, cv2.COLOR_GRAY2BGR)
11
+ return gray_image_bgr
12
 
13
  def convert_and_save(image):
14
+ # ์›๋ณธ ์ด๋ฏธ์ง€๋ฅผ ๋ณต์‚ฌ
15
+ original_image = image.copy()
16
+ # ์ด๋ฏธ์ง€๋ฅผ ํ‘๋ฐฑ์œผ๋กœ ๋ณ€ํ™˜
17
  gray_image = convert_to_grayscale(image)
18
+ # ์ถœ๋ ฅ ํŒŒ์ผ ๊ฒฝ๋กœ ์„ค์ •
19
  output_path = "output.jpg"
20
+ # ํ‘๋ฐฑ ์ด๋ฏธ์ง€ ์ €์žฅ
21
  cv2.imwrite(output_path, gray_image)
22
+ # ์Šฌ๋ผ์ด๋“œ์— ์‚ฌ์šฉํ•  ๋‘ ์ด๋ฏธ์ง€ ๋ฐ˜ํ™˜
23
+ return (original_image, gray_image), output_path
24
 
25
  # Gradio ์ธํ„ฐํŽ˜์ด์Šค ์ •์˜
26
+ with gr.Blocks() as demo:
27
+ gr.Markdown("# ์ด๋ฏธ์ง€ ํ‘๋ฐฑ ๋ณ€ํ™˜๊ธฐ")
28
+ gr.Markdown("์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•˜๋ฉด ํ‘๋ฐฑ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ๋ณ€๊ฒฝ ์ „ํ›„๋ฅผ ์Šฌ๋ผ์ด๋“œ ํ˜•ํƒœ๋กœ ๋น„๊ตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.")
29
+
30
+ with gr.Row():
31
+ image_input = gr.Image(label="์ด๋ฏธ์ง€ ์—…๋กœ๋“œ", type="numpy")
32
+ file_output = gr.File(label="๋‹ค์šด๋กœ๋“œ ๊ฐ€๋Šฅํ•œ JPG ํŒŒ์ผ")
33
+
34
+ with gr.Row():
35
+ slider_output = ImageSlider(label="๋ณ€๊ฒฝ ์ „ํ›„ ๋น„๊ต", type="numpy")
36
+
37
+ # ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ ํ•จ์ˆ˜ ์‹คํ–‰
38
+ upload_btn = gr.Button("๋ณ€ํ™˜ํ•˜๊ธฐ")
39
+ upload_btn.click(
40
+ fn=convert_and_save,
41
+ inputs=image_input,
42
+ outputs=[slider_output, file_output]
43
+ )
44
 
45
  if __name__ == "__main__":
46
+ demo.launch()