Kims12 commited on
Commit
3145448
ยท
verified ยท
1 Parent(s): 5a94468

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +28 -20
app.py CHANGED
@@ -1,10 +1,12 @@
1
  import gradio as gr
2
  from gradio_imageslider import ImageSlider
3
  from loadimg import load_img
 
4
  from transformers import AutoModelForImageSegmentation
5
  import torch
6
  from torchvision import transforms
7
- from io import BytesIO
 
8
 
9
  # GPU ์„ค์ •์„ CPU๋กœ ๋ณ€๊ฒฝ
10
  birefnet = AutoModelForImageSegmentation.from_pretrained(
@@ -25,11 +27,14 @@ def fn(image):
25
  im = im.convert("RGB")
26
  origin = im.copy()
27
  processed_image = process(im)
28
- # Convert processed image to JPEG for download
29
- buffered = BytesIO()
30
- processed_image.convert("RGB").save(buffered, format="JPEG")
31
- buffered.seek(0)
32
- return processed_image, buffered
 
 
 
33
 
34
  def process(image):
35
  image_size = image.size
@@ -43,30 +48,33 @@ def process(image):
43
  image.putalpha(mask)
44
  return image
45
 
46
- slider = ImageSlider(label="Processed Image", type="pil")
47
- download_output = gr.File(label="Download JPG File")
 
 
 
 
 
48
 
 
49
  image_upload = gr.Image(label="Upload an image")
 
50
 
51
- # ์ƒˆ๋กœ์šด ์ƒ˜ํ”Œ ์ด๋ฏธ์ง€ (์˜ˆ: ๋™์ผ ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜)
52
- sample_images = [
53
- ["1.png"],
54
- ["2.jpg"],
55
- ["3.png"]
56
- ]
57
 
58
- tab = gr.Interface(
59
  fn=fn,
60
  inputs=image_upload,
61
- outputs=[slider, download_output],
62
  examples=sample_images,
63
  api_name="image"
64
  )
65
 
66
- demo = gr.TabbedInterface(
67
- [tab],
68
- ["Image Upload"],
69
- title="Background Removal Tool"
70
  )
71
 
72
  if __name__ == "__main__":
 
1
  import gradio as gr
2
  from gradio_imageslider import ImageSlider
3
  from loadimg import load_img
4
+ import spaces
5
  from transformers import AutoModelForImageSegmentation
6
  import torch
7
  from torchvision import transforms
8
+ from PIL import Image
9
+ import os
10
 
11
  # GPU ์„ค์ •์„ CPU๋กœ ๋ณ€๊ฒฝ
12
  birefnet = AutoModelForImageSegmentation.from_pretrained(
 
27
  im = im.convert("RGB")
28
  origin = im.copy()
29
  processed_image = process(im)
30
+
31
+ # JPG๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์ €์žฅ
32
+ jpg_image = origin.copy()
33
+ jpg_image = jpg_image.convert("RGB")
34
+ jpg_path = "output.jpg"
35
+ jpg_image.save(jpg_path, format="JPEG")
36
+
37
+ return processed_image, jpg_path
38
 
39
  def process(image):
40
  image_size = image.size
 
48
  image.putalpha(mask)
49
  return image
50
 
51
+ def process_file(f):
52
+ name_path = f.rsplit(".", 1)[0] + ".png"
53
+ im = load_img(f, output_type="pil")
54
+ im = im.convert("RGB")
55
+ transparent = process(im)
56
+ transparent.save(name_path)
57
+ return name_path
58
 
59
+ slider1 = ImageSlider(label="Processed Image", type="pil")
60
  image_upload = gr.Image(label="Upload an image")
61
+ output_download = gr.File(label="Download JPG File")
62
 
63
+ # ์ƒˆ๋กœ์šด ์ƒ˜ํ”Œ ์ด๋ฏธ์ง€ ์ถ”๊ฐ€
64
+ sample_images = ["1.png", "2.jpg", "3.png"]
 
 
 
 
65
 
66
+ tab1 = gr.Interface(
67
  fn=fn,
68
  inputs=image_upload,
69
+ outputs=[slider1, output_download],
70
  examples=sample_images,
71
  api_name="image"
72
  )
73
 
74
+ demo = gr.Interface(
75
+ tab1,
76
+ title="Background Removal Tool",
77
+ description="์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•˜๋ฉด ๋ฐฐ๊ฒฝ์ด ์ œ๊ฑฐ๋œ ์ด๋ฏธ์ง€๋ฅผ ํ™•์ธํ•˜๊ณ  JPG ํŒŒ์ผ๋กœ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค."
78
  )
79
 
80
  if __name__ == "__main__":