Commit
·
ce07712
1
Parent(s):
ffd7146
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,12 +1,12 @@
|
|
| 1 |
import os
|
| 2 |
import streamlit as st
|
|
|
|
| 3 |
# from transformers import pipeline
|
| 4 |
from PIL import Image
|
| 5 |
-
|
| 6 |
# pipeline = pipeline(task="image-classification", model="julien-c/hotdog-not-hotdog")
|
| 7 |
|
| 8 |
|
| 9 |
-
|
| 10 |
st.title("Helmet Detection App: ⛑")
|
| 11 |
confidence=st.slider("Confidence score (0-0.9)",
|
| 12 |
min_value=0.0,
|
|
@@ -15,8 +15,12 @@ confidence=st.slider("Confidence score (0-0.9)",
|
|
| 15 |
step=.1)
|
| 16 |
file_name = st.file_uploader("Upload an image where workers may or may not wear helmets.")
|
| 17 |
|
| 18 |
-
if file_name is not None:
|
| 19 |
col1, col2 = st.columns(2)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
|
| 21 |
image = Image.open(file_name)
|
| 22 |
image.save("data/inputImg.jpg")
|
|
@@ -29,4 +33,31 @@ if file_name is not None:
|
|
| 29 |
os.system("rm -rf yolov5/runs")
|
| 30 |
col2.image(output, use_column_width=True)
|
| 31 |
image.close()
|
| 32 |
-
output.close()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
import os
|
| 2 |
import streamlit as st
|
| 3 |
+
import base64
|
| 4 |
# from transformers import pipeline
|
| 5 |
from PIL import Image
|
| 6 |
+
from st_clickable_images import clickable_images
|
| 7 |
# pipeline = pipeline(task="image-classification", model="julien-c/hotdog-not-hotdog")
|
| 8 |
|
| 9 |
|
|
|
|
| 10 |
st.title("Helmet Detection App: ⛑")
|
| 11 |
confidence=st.slider("Confidence score (0-0.9)",
|
| 12 |
min_value=0.0,
|
|
|
|
| 15 |
step=.1)
|
| 16 |
file_name = st.file_uploader("Upload an image where workers may or may not wear helmets.")
|
| 17 |
|
| 18 |
+
if (file_name is not None):
|
| 19 |
col1, col2 = st.columns(2)
|
| 20 |
+
# img1 =""
|
| 21 |
+
# img2 =""
|
| 22 |
+
# col1.image(img1, use_column_width=True)
|
| 23 |
+
# col2.image(img2, use_column_width=True)
|
| 24 |
|
| 25 |
image = Image.open(file_name)
|
| 26 |
image.save("data/inputImg.jpg")
|
|
|
|
| 33 |
os.system("rm -rf yolov5/runs")
|
| 34 |
col2.image(output, use_column_width=True)
|
| 35 |
image.close()
|
| 36 |
+
output.close()
|
| 37 |
+
|
| 38 |
+
elif (st.checkbox('Select an example by clicking on the checkbox.')):
|
| 39 |
+
image_list=["https://media.istockphoto.com/id/1301722993/photo/group-of-contractors-celebrating-the-end-of-successful-construction-process.jpg?s=612x612&w=0&k=20&c=Xv7sO0AGHITZ6-SdTFrvXYnlWQ_Sc3wAcnGory4n1NA=","https://media.istockphoto.com/id/1472264590/photo/substation-maintenance-engineers.webp?b=1&s=170667a&w=0&k=20&c=dXhPK_sakEhOsAFb6InX4onVoaSgmUZ5A-V6eUlZf8E="]
|
| 40 |
+
# st.markdown("select a image")
|
| 41 |
+
clicked = clickable_images(
|
| 42 |
+
image_list,
|
| 43 |
+
titles=[f"Image #{str(i)}" for i in range(len(image_list))],
|
| 44 |
+
div_style={"display": "flex", "justify-content": "space-between", "flex-wrap": "wrap"},
|
| 45 |
+
img_style={"margin": "5px", "height": "200px"},
|
| 46 |
+
key=None,
|
| 47 |
+
)
|
| 48 |
+
st.markdown(f"Image # {clicked} selected" if clicked > -1 else "No image selected")
|
| 49 |
+
if clicked>-1:
|
| 50 |
+
col1, col2 = st.columns(2)
|
| 51 |
+
file_exp =f"sample/image{clicked+1}.jpg"
|
| 52 |
+
image = Image.open(file_exp)
|
| 53 |
+
image.save("data/inputImg.jpg")
|
| 54 |
+
col1.image(image, use_column_width=True)
|
| 55 |
+
os.system(f"cd yolov5/ && python detect.py --weights ../best.pt --img 416 --conf {confidence} --source ../data/inputImg.jpg")
|
| 56 |
+
im = Image.open("yolov5/runs/detect/exp/inputImg.jpg")
|
| 57 |
+
im.save("data/output.jpg")
|
| 58 |
+
im.close()
|
| 59 |
+
output =Image.open("data/output.jpg")
|
| 60 |
+
col2.image(output, use_column_width=True)
|
| 61 |
+
image.close()
|
| 62 |
+
output.close()
|
| 63 |
+
os.system("rm -rf yolov5/runs")
|