File size: 1,623 Bytes
46274ff
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import streamlit as st
from PIL import Image, ImageOps
import numpy as np
import requests

# Function for image preprocessing
def preprocess_image(image):
    # Convert image to grayscale
    gray_image = ImageOps.grayscale(image)
    # Resize the image to 48x48 (common for emotion recognition models)
    resized_image = gray_image.resize((48, 48))
    # Convert the image to a numpy array
    image_array = np.array(resized_image)
    # Normalize the image array (values between 0 and 1)
    normalized_image = image_array / 255.0
    return normalized_image

# Title and description
st.title("Emotion Recognition for Autism Support")
st.write("Upload an image, and the app will help identify emotions.")

# Upload image section
uploaded_file = st.file_uploader("Upload an image", type=["jpg", "jpeg", "png"])

if uploaded_file:
    # Load the image using PIL
    image = Image.open(uploaded_file)
    st.image(image, caption="Uploaded Image", use_column_width=True)
    st.success("Image uploaded successfully!")
    
    # Preprocess the image
    st.write("Preprocessing the image for emotion recognition...")
    preprocessed_image = preprocess_image(image)
    st.write("Preprocessing complete. Ready for emotion analysis.")

    # Display preprocessed image
    st.image(Image.fromarray((preprocessed_image * 255).astype('uint8')), caption="Preprocessed Image")

    # Placeholder for emotion recognition (to be integrated with a model later)
    st.info("Emotion recognition will be added in the next step.")

# Footer
st.write("---")
st.write("Developed to assist children with autism in recognizing emotions.")