Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| import cv2 | |
| from ultralytics import YOLO | |
| import torch | |
| # Konfigurasi | |
| CONFIDENCE_THRESHOLD = 0.80 | |
| model = YOLO("best.pt") | |
| st.title("🧫 CerfixScan - Real-time Cervix Detection") | |
| st.markdown("Deteksi serviks secara real-time langsung dari webcam menggunakan YOLOv8.") | |
| run = st.checkbox('Mulai Kamera') | |
| FRAME_WINDOW = st.image([]) | |
| camera = cv2.VideoCapture(0) | |
| while run: | |
| ret, frame = camera.read() | |
| if not ret: | |
| st.warning("Tidak bisa mengakses webcam.") | |
| break | |
| # Deteksi pakai YOLO | |
| results = model(frame)[0] | |
| # Filter hasil berdasarkan threshold | |
| filtered_boxes = [] | |
| for box in results.boxes: | |
| if box.conf.item() >= CONFIDENCE_THRESHOLD: | |
| filtered_boxes.append(box) | |
| if filtered_boxes: | |
| results.boxes = type(results.boxes)(torch.stack([b.data for b in filtered_boxes])) | |
| annotated_frame = results.plot() | |
| else: | |
| annotated_frame = frame | |
| FRAME_WINDOW.image(annotated_frame, channels="BGR") | |
| camera.release() | |