ssboost commited on
Commit
3e95a1f
·
verified ·
1 Parent(s): e381827

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -14
app.py CHANGED
@@ -1,9 +1,15 @@
 
1
  import torch
2
  import torch.nn.functional as F
 
3
  from huggingface_hub import hf_hub_download
4
  from briarmbg import BriaRMBG
5
  from PIL import Image
6
- import gradio as gr
 
 
 
 
7
 
8
  # 모델 로드
9
  net = BriaRMBG()
@@ -21,8 +27,8 @@ def resize_image(image):
21
  image = image.resize(model_input_size, Image.BILINEAR)
22
  return image
23
 
24
- def process(image):
25
- orig_image = Image.fromarray(image)
26
  w, h = orig_im_size = orig_image.size
27
  image = resize_image(orig_image)
28
  im_np = np.array(image)
@@ -50,17 +56,14 @@ def process(image):
50
  output_path = "output_image.png"
51
  new_im.save(output_path)
52
 
53
- return new_im, output_path
54
 
55
- # Gradio 인터페이스 설정
56
- demo = gr.Interface(
57
- fn=process,
58
- inputs="image",
59
- outputs=["image", "file"],
60
- title="이미지 배경 제거",
61
- description="이미지의 배경을 제거하고 결과 이미지를 다운로드할 수 있는 데모입니다."
62
- )
63
 
64
  if __name__ == "__main__":
65
- # Gradio 서버 실행
66
- demo.queue(max_size=12).launch(server_name="0.0.0.0", server_port=7910, show_api=True)
 
1
+ import numpy as np
2
  import torch
3
  import torch.nn.functional as F
4
+ from torchvision.transforms.functional import normalize
5
  from huggingface_hub import hf_hub_download
6
  from briarmbg import BriaRMBG
7
  from PIL import Image
8
+ from fastapi import FastAPI, File, UploadFile
9
+ from fastapi.responses import FileResponse
10
+ import os
11
+
12
+ app = FastAPI()
13
 
14
  # 모델 로드
15
  net = BriaRMBG()
 
27
  image = image.resize(model_input_size, Image.BILINEAR)
28
  return image
29
 
30
+ def process_image(image: Image.Image):
31
+ orig_image = image
32
  w, h = orig_im_size = orig_image.size
33
  image = resize_image(orig_image)
34
  im_np = np.array(image)
 
56
  output_path = "output_image.png"
57
  new_im.save(output_path)
58
 
59
+ return output_path
60
 
61
+ @app.post("/remove-background/")
62
+ async def remove_background(file: UploadFile = File(...)):
63
+ image = Image.open(file.file)
64
+ output_path = process_image(image)
65
+ return FileResponse(output_path, media_type="image/png", filename="output_image.png")
 
 
 
66
 
67
  if __name__ == "__main__":
68
+ import uvicorn
69
+ uvicorn.run(app, host="0.0.0.0", port=7910)