% APRENDIZAJE AUTOMÁTICO (G. Pajares y J. M. de la Cruz, Eds.)
% Editorial: RA-MA
% Capítulo 11: Razonamiento Basado en Casos
% Autores: Ángela Ribeiro, Xavier P. Burgos Artizzu y Jesús M. Conesa Muńoz

% Etapa de Recuperación.
% Se recupera de la Base de Casos (BC) la imagen más similar, dentro de la misma clase
% que la imagen de entrada (im)
function [segm,elim,filt,param,recupera, MAXsim] = recupera(im, soleado, estadoCrec, errorSembrado, plagado)

load BC

MAXsim = 0;
recupera = 0;
for i=1:length(BC)
    im1 = im;
        
    %Lectura de la imagen
    im2 = imread(['Imagenes\' BC{i,2}]);
    im2 = im2single(im2);
        
    %Calculo de similitud
    sim = similitud(im1,im2);
        
    %Si es la más similar hasta ahora, selecciona
    if(sim>MAXsim)
        MAXsim = sim;
        recupera = i;
    end;
end;

% Una vez seleccionada la imagen se recupera el procesamiento utilizado
% (caso recuperado)
if(recupera>0)
    segm = BC{recupera,7};
    elim = BC{recupera,8};
    filt = BC{recupera,9};
    param = [BC{recupera,10} BC{recupera,11} BC{recupera,12}];
else
    'ERROR DE RECUPERACIÓN: CLASE VACIA'
end;


