import gradio as gr from tensorflow.keras.models import load_model import cv2 # Função para fazer a previsão de classificação def classify_pcos(image): # Pré-processamento da imagem (redimensionar, normalizar, etc.) preprocessed_image = preprocess_image(image) # Fazer a previsão usando o modelo prediction = model.predict(preprocessed_image) # Obter a classe predita class_index = np.argmax(prediction) class_label = class_labels[class_index] return class_label # Função para pré-processar a imagem (redimensionar, normalizar, etc.) def preprocess_image(image): # Redimensionar a imagem para 224x224 resized_image = cv2.resize(image, (224, 224)) # Normalizar a imagem (opcional, dependendo do pré-processamento necessário) normalized_image = resized_image / 255.0 # Adicionar dimensão extra para se adequar ao formato de entrada do modelo preprocessed_image = np.expand_dims(normalized_image, axis=0) return preprocessed_image # Carregar o modelo treinado model = load_model('FightOS_CNN_Models.h5') # Definir as classes de rótulo class_labels = ['positive', 'negative'] # Interface do aplicativo Gradio iface = gr.Interface( fn=classify_pcos, inputs="image", outputs="text", title="Detecção de PCOS usando imagens de ultrassom", description="Faça upload de uma imagem de ultrassom para classificar se possui PCOS ou não." ) # Executar o aplicativo iface.launch()