|
from libs import * |
|
from utils_func import create_dir, main_processing |
|
|
|
|
|
|
|
create_dir("tempDir") |
|
|
|
|
|
def load_image(image_file): |
|
img = Image.open(image_file) |
|
return img |
|
|
|
|
|
def streamlit_app(): |
|
detection_model_path = "weight_files/clothes_detection_model.pt" |
|
background_model_path = "weight_files/model.h5" |
|
save_path = "" |
|
image_file = None |
|
st.title("""WELCOME TO MY APP""") |
|
st.subheader("""FOR BACKGROUND REMOVAL AND CHANGE!""") |
|
col1 = None |
|
col2 = None |
|
final_img = None |
|
with st.spinner("[UPLOAD] Image uploading"): |
|
try: |
|
image_file = st.file_uploader('[UPLOAD] Please upload your image:', type=["png", "jpg", "jpeg"]) |
|
time.sleep(1) |
|
except: |
|
print("[ERROR] Sorry, something went wrong!") |
|
pass |
|
|
|
|
|
if image_file is not None: |
|
st.success("Load image successfully!...") |
|
image = load_image(image_file) |
|
|
|
col1, col2, col3 = st.columns(3) |
|
with col1: |
|
st.image(image, caption="Image before processing") |
|
save_path = "tempDir/"+ image_file.name |
|
image.save(save_path) |
|
|
|
|
|
image_path, details = save_path, image_file |
|
|
|
if details is not None: |
|
with col2: |
|
with st.spinner("[PROCESSING] Image processing"): |
|
final_img_path = main_processing(col1, col2, col3, sport_bg_path=stadium_sport_bg_path, swim_bg_path=beach_swim_bg_path, |
|
office_bg_path=office_bg_path, img_path=image_path, name=details.name, |
|
detection_model_path=detection_model_path, |
|
background_model_path=background_model_path) |
|
time.sleep(1) |
|
|
|
with col1: |
|
if final_img_path is not None: |
|
final_img = load_image(final_img_path) |
|
st.image(final_img, caption="Image after processing") |
|
st.balloons() |
|
with col2: |
|
with open(final_img_path, "rb") as file: |
|
st.write('\n') |
|
st.write('\n') |
|
st.write('\n') |
|
st.write('\n') |
|
st.write('\n') |
|
|
|
file_name = save_path.split("/")[-1].split(".")[-2] +"_from_abc" + ".png" |
|
|
|
if st.download_button( |
|
label="Download postprocessing image", |
|
data=file, |
|
file_name= file_name, |
|
mime="image/png" |
|
): |
|
st.success('[DOWNLOAD] Download sucessfully!') |
|
|
|
|
|
|
|
if __name__ == '__main__': |
|
np.random.seed(42) |
|
tf.random.set_seed(42) |
|
|
|
bg_path = "" |
|
background_model_path = "weight_files/model.h5" |
|
detection_model_path = "weight_files/clothes_detection_model.pt" |
|
|
|
stadium_sport_bg_path = "backgrounds/camnou_stadium.jpg" |
|
beach_swim_bg_path = "backgrounds/beach.jpg" |
|
office_bg_path = "backgrounds/office-bg.jpg" |
|
|
|
image_path = None |
|
|
|
streamlit_app() |
|
|