add test-prediction.py

This commit is contained in:
Oleksandr Bezdieniezhnykh
2024-08-15 23:38:08 +03:00
parent 7cf85f66f1
commit 72c86443f9
+40
View File
@@ -0,0 +1,40 @@
import sys
from pathlib import Path
from ultralytics import YOLO
# from vidgear.gears import CamGear
import cv2
from time import sleep
from os import path
model = YOLO('azaion-2024-08-13.pt')
# video_url = 'https://www.youtube.com/watch?v=d1n2fDOSo8c'
# stream = CamGear(source=video_url, stream_mode=True, logging=True).start()
fourcc = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')
input_name = sys.argv[1]
output_name = Path(input_name).stem + '_recognised.mp4'
v_input = cv2.VideoCapture(path.join('tests', input_name))
v_output = cv2.VideoWriter('', fourcc, 20.0, (640, 480))
while v_input.isOpened():
ret, frame = v_input.read()
if frame is None:
break
results = model.track(frame, persist=True, tracker='bytetrack.yaml')
frame_detected = results[0].plot()
frame_detected = cv2.resize(frame_detected, (640, 480))
# cv2.imshow('Video', frame_detected)
# sleep(0.03)
v_output.write(frame_detected)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
v_input.release()
v_output.release()
cv2.destroyAllWindows()