File size: 899 Bytes
c0db850
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
from tensorflow.keras.models import load_model
from PIL import Image 
import numpy as np 

st.title("Skin Cancer Image Classification")
st.write("Upload an image and let the model guess whether it is a cancer or not.")

model = load_model("my_cnn_model.keras")

def process_image(img):
    img = img.resize((170,170)) # set the size as 170 x 170 pixel
    img = np.array(img)
    img = img / 255.0 # normalized
    img = np.expand_dims(img, axis=0)
    return img


file = st.file_uploader("Upload an image", type=["jpg", "jpeg", "png"])

if file is not None:
    img = Image.open(file)
    st.image(img, caption="Uploaded Image")
    image = process_image(img)

    prediction = model.predict(image)
    predicted_class = np.argmax(prediction)

    class_names = ["It is NOT Cancer!", "It is Cancer!"]
    st.write(class_names[predicted_class])