vitamom commited on
Commit
ccee924
ยท
verified ยท
1 Parent(s): c7db129

Update app.py

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