Spaces:
Runtime error
Runtime error
import streamlit as st | |
from PIL import Image | |
import re | |
import requests | |
from io import BytesIO | |
import segmentation | |
def init(): | |
st.set_page_config(page_title="Semantic image segmentation") | |
st.session_state["model"] = segmentation.create_model() | |
st.session_state["feature_extractor"] = segmentation.create_feature_extractor() | |
def process_file(file): | |
return segmentation.segment( | |
Image.open(file), | |
st.session_state["model"], | |
st.session_state["feature_extractor"] | |
) | |
def download_button(file, name, format): | |
st.download_button( | |
label="Download processed image", | |
data=file, | |
file_name=name, | |
mime="image/" + format | |
) | |
def run(): | |
st.title("Semantic image segmentation") | |
img_url = st.text_input('Image URL', 'https://images.unsplash.com/photo-1556911220-bff31c812dba?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=2468&q=80') | |
st.caption('Downloading Image...') | |
file = requests.get(img_url).content | |
if not file: | |
return | |
placeholder = st.empty() | |
placeholder.info( | |
"Processing..." | |
) | |
#image = process_file(file) | |
image = file | |
placeholder.empty() | |
placeholder.image(image) | |
filename = file.name | |
format = re.findall("\..*$", filename)[0][1:] | |
image = Image.fromarray(image) | |
buf = BytesIO() | |
image.save(buf, format="JPEG") | |
byte_image = buf.getvalue() | |
download_button(byte_image, filename, format) | |