Spaces:
Running
Running
File size: 2,757 Bytes
48cddcb 58bd1b2 48cddcb baf7aa0 d50261b 3760c0b 06ad0a5 5867cce cefb660 884a5e9 48cddcb 418cf06 84b79d8 cefb660 48cddcb cefb660 418cf06 cefb660 48cddcb cefb660 418cf06 48cddcb 3760c0b 58bd1b2 48cddcb 3d1213b 58bd1b2 48cddcb 3d1213b 48cddcb 3760c0b 3d1213b 06ad0a5 3760c0b 48cddcb 3d1213b 48cddcb 72125ff 3760c0b 48cddcb |
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
import cv2
import numpy as np
import streamlit as st
from PIL import Image
import urllib.request
import io
from utils import *
from google.colab.output import eval_js
from base64 import b64decode, b64encode
# Initialize labels and model
labels = gen_labels()
model = model_arc() # Assuming this function initializes and returns a trained model
# Streamlit UI
st.markdown('''
<div style="padding-bottom: 20px; padding-top: 20px; padding-left: 5px; padding-right: 5px">
<center><h1>EcoIdentify (Test)</h1></center>
</div>
''', unsafe_allow_html=True)
st.markdown('''
<div>
<center><h3>Please upload Waste Image to find its Category</h3></center>
</div>
''', unsafe_allow_html=True)
image = None
if opt == 'Upload image from device':
file = st.file_uploader('Select', type=['jpg', 'png', 'jpeg'])
if file:
image = preprocess_image(file)
elif opt == 'Upload image via link':
img_url = st.text_input('Enter the Image Address')
if st.button('Submit'):
try:
response = urllib.request.urlopen(img_url)
image = preprocess_image(response)
except ValueError:
st.error("Please Enter a valid Image Address!")
try:
if image is not None:
st.image(image, width=256, caption='Uploaded Image')
if st.button('Predict'):
print("---------------img-array---------------------")
print(img[np.newaxis, ...])
prediction = model.predict(img[np.newaxis, ...])
print("------------summary------------------------")
print(model.summary())
print("------------------------------------")
print(prediction)
st.info('Hey! The uploaded image has been classified as " {} waste " '.format(labels[np.argmax(prediction[0], axis=-1)]))
def message(img):
if img == 'paper' or 'cardboard' or 'metal' or 'glass':
return (
" therefore your item is recyclable. Please refer to https://www.wm.com/us/en/drop-off-locations to find a drop-off location near you.")
elif img == 'plastic':
return (
' therefore you item may have a chance of being recyclable. Since this model has yet to recognize types of plastics, please refer to https://www.bing.com/ck/a?!&&p=c1474e95017548dfJmltdHM9MTcwMzcyMTYwMCZpZ3VpZD0xNmNjOTFiOS1hMDgwLTY5MmItMzBmNi04MmE1YTE3ODY4NDImaW5zaWQ9NTIyMA&ptn=3&ver=2&hsh=3&fclid=16cc91b9-a080-692b-30f6-82a5a1786842&psq=what+type+of+plastic+can+be+recycled&u=a1aHR0cHM6Ly93d3cucGxhc3RpY3Nmb3JjaGFuZ2Uub3JnL2Jsb2cvd2hpY2gtcGxhc3RpYy1jYW4tYmUtcmVjeWNsZWQ&ntb=1 to check if this item can be recycled.')
else:
return ('Your item is not recyclable. Please discard it safely.')
st.info(message(labels[np.argmax(prediction[0], axis=-1)]))
except Exception as e:
st.info(e)
pass |