Files changed (1) hide show
  1. app.py +0 -59
app.py DELETED
@@ -1,59 +0,0 @@
1
- import streamlit as st
2
- from ultralytics import YOLO
3
- import cv2
4
- from gtts import gTTS
5
- import tempfile
6
- import os
7
- from PIL import Image
8
- import numpy as np
9
-
10
- # Load YOLOv8 model
11
- @st.cache_resource
12
- def load_model():
13
- return YOLO("yolov8n.pt") # Automatically downloads and loads YOLOv8 model
14
-
15
- model = load_model()
16
-
17
- # Streamlit App
18
- st.title("Real-Time Object Detection for Blind Assistance")
19
- st.write(
20
- "This app detects objects in real-time using a webcam feed or video stream and provides audio feedback."
21
- )
22
-
23
- # Use Streamlit's camera input
24
- video_feed = st.camera_input("Enable Webcam Feed")
25
-
26
- if video_feed is not None:
27
- # Convert video_feed to an image
28
- temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".jpg")
29
- temp_file.write(video_feed.getvalue())
30
-
31
- # Load the captured frame
32
- frame = cv2.imread(temp_file.name)
33
-
34
- # Convert to RGB (if needed, for PIL compatibility)
35
- frame_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
36
-
37
- # Perform object detection
38
- results = model(frame_rgb)
39
-
40
- # Annotate the frame
41
- annotated_frame = results[0].plot()
42
-
43
- # Convert annotated frame back to displayable format
44
- annotated_image = Image.fromarray(cv2.cvtColor(annotated_frame, cv2.COLOR_BGR2RGB))
45
-
46
- # Display annotated frame in Streamlit
47
- st.image(annotated_image, caption="Real-Time Detection", use_column_width=True)
48
-
49
- # Generate feedback for detected objects
50
- detected_objects = [model.names[int(box.cls)] for box in results[0].boxes]
51
- if detected_objects:
52
- objects_text = ", ".join(set(detected_objects))
53
- st.write(f"Detected objects: {objects_text}")
54
-
55
- # Provide audio feedback
56
- tts = gTTS(text=f"Detected objects are: {objects_text}", lang="en")
57
- audio_file = tempfile.NamedTemporaryFile(delete=False, suffix=".mp3")
58
- tts.save(audio_file.name)
59
- st.audio(audio_file.name, format="audio/mp3")