tmafantiri's picture
Update app.py
8ecf583 verified
raw
history blame
982 Bytes
def predict_image(image):
try:
# Resize the image
img = image.resize((128, 128))
# Convert the image to a NumPy array
img = np.array(img)
# Check if the image has 3 color channels
if img.shape == (128, 128): # If grayscale, convert to RGB
img = np.stack((img,) * 3, axis=-1)
# Add a batch dimension
img = np.expand_dims(img, axis=0) / 255.0 # Normalize the image
# Make the prediction
prediction = model.predict(img)
# Get the predicted class and confidence level
predicted_class = np.argmax(prediction)
confidence = np.max(prediction) * 100 # Convert to percentage
# Return the results
if predicted_class == 0:
return f'No tumor detected. Confidence: {confidence:.2f}%'
else:
return f'Tumor detected. Confidence: {confidence:.2f}%'
except Exception as e:
return f'Error processing image: {str(e)}'