ahmadsy commited on
Commit
6cba02d
·
1 Parent(s): 60d3ff9

Upload bg_remover.py

Browse files
Files changed (1) hide show
  1. bg_remover.py +62 -0
bg_remover.py ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+
3
+ import streamlit as st
4
+ import base64
5
+ from io import BytesIO
6
+ from PIL import Image
7
+ import os
8
+ import rembg
9
+
10
+ try :
11
+ from rembg import remove ,new_session
12
+ except ImportError:
13
+ os.system("pip install rembg")
14
+
15
+ local_img ={"zebra":os.path.join(os.getcwd(),"zebra.jpg"),"wallaby":os.path.join(os.getcwd(),"wallaby.png")}
16
+ models_name = ["u2net","u2netp","u2net_human_seg","u2net_cloth_seg","silueta",'isnet-general-use','sam ']
17
+
18
+
19
+ # Download the fixed image
20
+ def convert_image(img):
21
+ buf = BytesIO()
22
+ img.save(buf, format="PNG")
23
+ byte_im = buf.getvalue()
24
+ return byte_im
25
+
26
+ st.set_page_config(layout="wide", page_title="Image Background Remover")
27
+
28
+ st.write("## Remove background from your image")
29
+ st.write(
30
+ ":dog: Try uploading an image to watch the background magically removed. Full quality images can be downloaded from the sidebar. This code is open source and available [here](https://github.com/tyler-simons/BackgroundRemoval) on GitHub. Special thanks to the [rembg library](https://github.com/danielgatis/rembg) :grin:"
31
+ )
32
+ col1, col2 = st.columns(2)
33
+
34
+ uploaded_img = col1.file_uploader("Upload an image", type=["png", "jpg", "jpeg"])
35
+ custom_img = col1.selectbox('Or pick custom image',local_img.keys())
36
+ model_name = col1.selectbox('Or pick custom image',models_name)
37
+
38
+ session = new_session(model_name=model_name)
39
+ if uploaded_img:
40
+ image = Image.open(uploaded_img)
41
+ col1.write("Original Image :camera:")
42
+ col1.image(image)
43
+ else :
44
+
45
+ image = Image.open(local_img[custom_img])
46
+ col1.write("Custom Image :camera:")
47
+ col1.image(image)
48
+
49
+ fixed = remove(image,session =session)
50
+ col2.write("Fixed Image :wrench:")
51
+ col2.image(fixed)
52
+ col2.markdown("\n")
53
+ col2.download_button("Download fixed image", convert_image(fixed), "fixed.png", "image/png")
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+