Spaces:
Configuration error
Configuration error
File size: 1,217 Bytes
eff86ba |
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 |
import streamlit as st
import cv2
import numpy as np
from tensorflow.keras.models import load_model
# Load the pre-trained model
model = load_model('brain.h5')
# Class labels
class_labels = ['glioma_tumor', 'meningioma_tumor', 'no_tumor', 'pituitary_tumor']
def load_and_predict(image):
# Preprocess the image for prediction
image = cv2.resize(image, (150, 150)) # Resize the image to match the input shape of the model
image = np.expand_dims(image, axis=0) # Add an extra dimension for batch size
# Make predictions
predictions = model.predict(image)
predicted_class_idx = np.argmax(predictions)
predicted_class = class_labels[predicted_class_idx]
return predicted_class
def main():
st.title("Brain Tumor Classifier")
uploaded_file = st.file_uploader("Choose an image...", type=["jpg", "jpeg", "png"])
if uploaded_file is not None:
image = cv2.imdecode(np.fromstring(uploaded_file.read(), np.uint8), 1)
st.image(image, caption="Uploaded Image.", width=200)
if st.button("Predict"):
predicted_class = load_and_predict(image)
st.success(f"Predicted Class: {predicted_class}")
if __name__ == "__main__":
main()
|