import streamlit as st import tensorflow as tf import numpy as np from PIL import Image from io import BytesIO st.title("Colorize black and white image using an AI model trained on Flickr images with the Pix2pix architecture.") image = st.file_uploader("Upload an image", type=["jpg", "png","jpeg"]) model = tf.keras.models.load_model('generator_color.keras') if image : button = st.button("Colore") image = Image.open(image) image = image.convert("L") image = image.resize((128,128)) image = np.array(image) if button: image = image - 127.5 image = image / 127.5 image.shape = (1,128,128,1) result = model(image,training = True) result = (result * 127.5) + 127.5 numpy_array = np.array(result.numpy()[0] , dtype=np.uint8) pillow_image = Image.fromarray(numpy_array) output_path = "output_image.jpg" pillow_image.save(output_path) st.image([output_path], caption='Colored Image', use_column_width=False) st.download_button( label="Download Colored Image", data=BytesIO(numpy_array.tobytes()), file_name="output_image.jpg", key="download_button", help="Click to download the colored image.", )