EE655 / app.py
AaSiKu's picture
Update app.py
feb4e64 verified
import streamlit as st
from helper import *
from deepface import DeepFace
import tf_keras
# Set the page title
st.title("Aging Deaging App")
# Create columns for input and output sections
col1, col2 = st.columns(2)
# Input Section
with col1:
st.header("Input")
uploaded_image = st.file_uploader("Upload an image", type=["jpg", "jpeg", "png"])
if uploaded_image is not None:
# Display the uploaded image
st.image(uploaded_image, caption="Uploaded Image")
# Display the selected option
# Output Section
with col2:
st.header("Output")
age_conversion_option = st.radio("Select age conversion option", ("Old to Young", "Young to Old"))
st.write(f"Selected conversion: {age_conversion_option}")
if st.button("Generate"):
if uploaded_image is not None:
image = Image.open(uploaded_image).convert("RGB") # Convert to RGB
image = np.array(image) # Convert to numpy array for DeepFace and OpenCV
detections = extract_faces_opencv(image)
for face in detections:
face_crop = cv2.resize(face, (256, 256))
# face_crop = cv2.cvtColor(face_crop, cv2.COLOR_BGR2RGB)
if age_conversion_option == "Young to Old":
processed_image = generate_Y2O(face_crop)
st.image(processed_image, caption="Old you", use_container_width=True)
elif age_conversion_option == "Old to Young":
processed_image = generate_O2Y(face_crop)
st.image(processed_image, caption="Young you", use_container_width=True)
else:
st.warning("Please upload an image before clicking Generate")