Spaces:
Sleeping
Sleeping
Download app.py from lalitov/classifier: direct link, hf CLI and curl.
- Browser
- Download file 2.08 kB
-
https://huggingface.co/spaces/lalitov/classifier/resolve/main/app.py
- Command line
-
hf download hf://spaces/lalitov/classifier/app.py
-
curl -L -o app.py https://huggingface.co/spaces/lalitov/classifier/resolve/main/app.py
2.08 kB
| import streamlit as st | |
| import tensorflow as tf | |
| import numpy as np | |
| from skimage import exposure | |
| from skimage.io import imread | |
| from skimage.transform import resize | |
| from skimage.filters import sobel | |
| # Funci贸n para cargar y preprocesar la imagen | |
| def load_and_preprocess_image(image): | |
| # Descargar datos de imagen | |
| img = imread(image) | |
| # Aseg煤rate de que el tama帽o de la imagen coincida con el modelo | |
| img = resize(img, (224, 224)) | |
| # Mejora de contraste | |
| img_contrast_enhanced = exposure.equalize_adapthist(img) | |
| # Detecci贸n de bordes | |
| #img_edges = sobel(img_contrast_enhanced) | |
| img_final = np.expand_dims(img_contrast_enhanced, axis=0) | |
| return img_final | |
| # Funci贸n para procesar la imagen con el modelo | |
| def process_image(image): | |
| # Carga del modelo | |
| model = tf.keras.models.load_model('model.h5') # modelo entrenado respaldado, archivo .h5 | |
| # Preprocesamiento de la imagen | |
| processed_image = load_and_preprocess_image(image) | |
| # Predicci贸n | |
| result = model.predict(processed_image)[0][0] | |
| predicted_class = 'Maligno' if result >= 0.5 else 'Benigno' | |
| return predicted_class | |
| # Configuraci贸n de la barra lateral | |
| st.sidebar.title('Clasificador de C谩ncer de Piel') # t铆tulo de la barra | |
| st.sidebar.image('logo.png', width=50) # icono de la barra | |
| st.sidebar.markdown('[Github](https://github.com/lalovaltierra/MIA)') # link | |
| # Configuraci贸n del cuerpo principal | |
| st.title('Selecciona una im谩gen') # t铆tulo del cuerpo principal | |
| uploaded_image = st.file_uploader('',type=['jpg', 'jpeg', 'png']) # input para imagen | |
| # Mostrar la imagen cargada y el resultado del procesamiento | |
| col1, col2 = st.columns(2) # se generan dos columnas | |
| col2.subheader("Resultado de la clasificaci贸n") #t铆tulo de la columna 2 | |
| if uploaded_image is not None: # si hay imagen | |
| with col1: | |
| # Mostrar la imagen | |
| st.image(uploaded_image, caption='Imagen cargada', width=200) | |
| with col2: | |
| # Procesar la imagen | |
| result = process_image(uploaded_image) | |
| st.text(f'{result}') |