File size: 1,375 Bytes
81e52b2 6f77134 81e52b2 037ddd4 6f77134 5833ab0 6f77134 34a7110 c8922e8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
##################################
# test app set up
##################################
import streamlit as st
from rembg import remove
from PIL import Image
from io import BytesIO
import base64
st.set_page_config(layout="wide", page_title="Image Background Remover", initial_sidebar_state="expanded")
st.write("## Remove background from your image")
st.write(
"A Huggingface port of the Streamlit Remove Background app"
)
st.sidebar.write("## Upload and download :gear:")
MAX_FILE_SIZE = 5 * 1024 * 1024 # 5MB
# Download the fixed image
def convert_image(img):
buf = BytesIO()
img.save(buf, format="PNG")
byte_im = buf.getvalue()
return byte_im
def fix_image(upload):
image = Image.open(upload)
col1.write("Original Image :camera:")
col1.image(image)
fixed = remove(image)
col2.write("Fixed Image :wrench:")
col2.image(fixed)
st.sidebar.markdown("\n")
st.sidebar.download_button("Download fixed image", convert_image(fixed), "fixed.png", "image/png")
col1, col2 = st.columns(2)
my_upload = st.sidebar.file_uploader("Upload an image", type=["png", "jpg", "jpeg"])
if my_upload is not None:
if my_upload.size > MAX_FILE_SIZE:
st.error("The uploaded file is too large. Please upload an image smaller than 5MB.")
else:
fix_image(upload=my_upload)
else:
fix_image("./images/wallaby.png") |