| | 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() |
| |
|