Spaces:
Sleeping
Sleeping
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}") | |