Spaces:
Runtime error
Runtime error
import cv2 | |
from ultralytics import YOLO | |
classes = ['ain', 'al', 'aleff','bb','dal','dha','dhad','fa','gaaf','ghain','ha','haa','jeem','kaaf','khaa','la','laam', | |
'meem','nun','ra','saad','seen','sheen','ta','taa','thaa','thal','toot','waw','ya','yaa','zay'] | |
TargetMapper = dict(zip(range(32),classes)) | |
model = YOLO('best.pt') | |
def image_inference(image_path): | |
print(image_path) | |
image = cv2.imread(image_path) | |
outputs = model.predict(source=image_path) | |
results = outputs[0] | |
for i,det in enumerate(results.boxes.xyxy): | |
cls = TargetMapper[results.boxes.cls.numpy()[i]] | |
#det = results.boxes.xyxy[0] | |
cv2.rectangle( | |
image, | |
(int(det[0]), int(det[1])), | |
(int(det[2]), int(det[3])), | |
color=(0, 0, 255), | |
thickness=2, | |
lineType=cv2.LINE_AA | |
) | |
cv2.putText(image, cls, (int(det[0]), int(det[1])-10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (36,255,12), 2) | |
return cv2.cvtColor(image, cv2.COLOR_BGR2RGB) | |
def video_inference(video_path) : | |
cap = cv2.VideoCapture(video_path) | |
while(cap.isOpened()): | |
ret, frame = cap.read() | |
if ret: | |
frame_copy = frame.copy() | |
outputs = model.predict(source=frame) | |
results = outputs[0]#.cpu().numpy() | |
for i, det in enumerate(results.boxes.xyxy): | |
cls = TargetMapper[results.boxes.cls.numpy()[i]] | |
cv2.rectangle( | |
frame_copy, | |
(int(det[0]), int(det[1])), | |
(int(det[2]), int(det[3])), | |
color=(0, 0, 255), | |
thickness=2, | |
lineType=cv2.LINE_AA | |
) | |
cv2.putText(frame_copy, cls, (int(det[0]), int(det[1])-10), cv2.FONT_HERSHEY_SIMPLEX, 0.9, (36,255,12), 2) | |
yield cv2.cvtColor(frame_copy, cv2.COLOR_BGR2RGB) |