%% En matlab
%
% Lamentablemente, no dispongo de GPU entonces no he podido entrenar en matlab. Lo que sí es possible es transformar los modelos entrenados en Python (pasarlos de .pt a ONNX) y usarlos luego en matlab. Aquí tenemos el código para hacerlo.

% EJECUTAR convert_to_onnx.py ABANS, CREAR CARPETA indoor_model I CANVIAR
% EL NOM DE ONNX A best.onnx.

net = importYOLOv8Model('indoor_model');

% FA FALTA EL TOOLBOX ONNX MODEL CONVERTER

%

classNames = ["exit", "fireextinguisher", "chair", "clock", "trashbin", "screen", "printer"]
yolov8Det = yolov8ObjectDetector(net, classNames);

%


ruta = './assigned_images';

imagenes = {};

nombres_imagenes = dir([ruta '\*.jpg']);

for i = 1:1:size(nombres_imagenes)

    imagenes{i}=imread([ruta '\' nombres_imagenes(i).name]);

end

%


for i = 1:1:size(nombres_imagenes)
    imagen = imagenes{i};
    [bb_yolo, scores_yolo, etiquetas_yolo] = detect(yolov8Det, imagen);

    anotacion = string(etiquetas_yolo)+":"+string(scores_yolo);

    imagen_anotada = insertObjectAnnotation(imagen, "rectangle", bb_yolo, anotacion);

    figure;
    imshow(imagen_anotada)



end