File size: 2,010 Bytes
1292856
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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

import streamlit as st
import numpy as np
from tensorflow.keras.models import load_model
from PIL import Image

# تحميل الموديل
model = load_model("best_model.keras")

# تحميل الصورة
st.title("تطبيق تحليل البشرة")
uploaded_file = st.file_uploader("اختر صورة لتحليلها", type=["jpg", "png", "jpeg"])

if uploaded_file is not None:
    # تحويل الصورة إلى مصفوفة
    image = Image.open(uploaded_file)
    image = image.resize((224, 224))  # تغيير الحجم حسب الحاجة
    image_array = np.array(image) / 255.0  # تطبيع الصورة
    image_array = np.expand_dims(image_array, axis=0)  # إضافة بعد إضافي للصورة
    
    # التنبؤ باستخدام الموديل
    prediction = model.predict(image_array)
    
    # تقييم النتائج بناءً على التنبؤات
    acne_prob = prediction[0][0]  # احتمال وجود الحبوب
    wrinkles_prob = prediction[0][1]  # احتمال وجود التجاعيد
    skin_type_prob = prediction[0][2]  # احتمال نوع البشرة (دهنية، جافة، طبيعية)

    # تحديد النتائج
    acne_result = "نعم" if acne_prob > 0.5 else "لا"  # إذا كان الاحتمال أكبر من 0.5، هناك حبوب
    wrinkles_result = "نعم" if wrinkles_prob > 0.5 else "لا"  # إذا كان الاحتمال أكبر من 0.5، هناك تجاعيد
    if skin_type_prob > 0.5:
        skin_type_result = "دهنية" if skin_type_prob > 0.7 else "جافة"  # لو الاحتمال أكبر من 0.7 نعتبرها دهنية
    else:
        skin_type_result = "طبيعية"  # في الحالات الأخرى نعتبرها طبيعية

    # عرض النتيجة
    st.subheader("نتائج التحليل:")
    st.write(f"هل يوجد حبوب؟ {acne_result}")
    st.write(f"هل يوجد تجاعيد؟ {wrinkles_result}")
    st.write(f"نوع البشرة: {skin_type_result}")