Spaces:
Runtime error
Runtime error
| import cv2 | |
| from ultralytics import YOLO | |
| import numpy as np | |
| import os | |
| import gradio as gr | |
| __file__= "HUGGINGFACE _MODELS_AND_SPACES" | |
| current_dırectory= os.path.dirname(os.path.abspath(__file__)) | |
| folder= os.path.join(current_dırectory,"Cattle_Detection_with_YOLOV8") | |
| pt= os.path.join(folder, "best.pt") | |
| py= os.path.join(folder, "Detection_Video.py") | |
| rqrmt= os.path.join(folder, "requirements.txt") | |
| example_video= os.path.join(folder, "cows-and-cows-and-cows.mp4") | |
| output_video= os.path.join(folder, "output_video.mp4") | |
| def fonk(video_path): | |
| model=YOLO(pt) | |
| cap=cv2.VideoCapture(video_path) | |
| frame_width = int(cap.get(3)) | |
| frame_height = int(cap.get(4)) | |
| size = (frame_width, frame_height) | |
| output_video= "output_video.mp4" | |
| writer = cv2.VideoWriter(output_video, | |
| cv2.VideoWriter_fourcc(*"DIVX"), | |
| 10, size) | |
| while True: | |
| ret, frame= cap.read() | |
| if ret!=True: | |
| break | |
| results= model(frame) | |
| for result in results: | |
| if result.boxes is not None and len(result.boxes): | |
| box = result.boxes | |
| x1, y1, x2, y2 = map(int, box.xyxy[0]) | |
| print(x1, y1, x2, y2) | |
| frame = cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 255, 0), 2) | |
| writer.write(frame) | |
| writer.release() | |
| cap.release() | |
| return output_video | |
| demo = gr.Interface(fonk, | |
| inputs= gr.Video(), | |
| outputs=gr.Video(), | |
| examples=[example_video], | |
| title= "cows", | |
| cache_examples=True) | |
| demo.launch() | |