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}")