 -----------------------------------------------------------
| Capítulo 11. RAZONAMIENTO BASADO EN CASOS                 |
|                                                           |
| Xavier P. Burgos Artizzu, Jesús Conesa, Ángela Ribeiro    |
|                                                           |
| Sección 11.3.1 Un sistema de Razonamiento Basado en Casos |
| como ayuda en el procesamiento de imágenes naturales      |
|                                                           |
|                     CÓDIGO MATLAB                         |
 -----------------------------------------------------------

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Carpetas y archivos que se adjuntan %%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

$$$$$$$$$$$$$$$$$$$$$$$$
$Carpeta Imagenes $
$$$$$$$$$$$$$$$$$$$$$$$$

- Contiene:

  - 17 imágenes pertenecientes a cada uno de los casos (Caso1 ... Caso17)
  - aquellas imágenes que se van añadiendo a la base de casos
  - 6 imágenes de prueba, para probar el funcionamiento del CBR (Prueba1 ... Prueba6)


$$$$$$$$$$$$$$$$$$$$$$$$
$Carpeta Procesamiento $
$$$$$$$$$$$$$$$$$$$$$$$$

- Contiene todas las funciones auxiliares del procesamiento de imágenes


$$$$$$$$$$$$$$$
$Carpeta CBR  $
$$$$$$$$$$$$$$$

- Contiene la Base de Casos (BC.mat) y las funciones principales del CBR


**************************************************************************

Sobre el archivo BC.mat: 

    - Almacena los datos de la base de casos utilizada por el CBR
    - En la carpeta CBR está el archivo original mientras que en la carpeta
      raíz se encuentra aquel que usa el CBR para su funcionamiento. Sobre
      este último se van haciendo las inserciones de nuevos casos. Si se
      desea volver al original basta con sobreescribirlo con el archivo
      existente en la carpeta CBR
      


FUNCIÓN PRINCIPAL procesaImagenCBR.m  
USO  [imagen_recuperada, procesamiento_usado, mh] =  procesaImagenCBR(ruta_imagen)
Ejemplo: procesaImagenCBR('Imagenes\Prueba1.jpg');

FUNCIÓN indexa.m  
%INDEXACIÓN
% Se calculan los atributos característicos que categorizan la imagen de
% entrada
USO [soleado,estadoCrec,errorSembrado,plagado] = indexa(im)

FUNCIÓN recupera.m
%RECUPERACIÓN
% Se recupera de la Base de Casos la imagen más similar (de la misma clase
% que la imagen de entrada)
USO [segm,elim,filt,param,imagen_recuperada, sim] = recupera(im, soleado, estadoCrec, errorSembrado, plagado)

FUNCIÓN plataforma.m
%REUTILIZACIÓN
%Se reutiliza el procesamiento del caso recuperado para procesar el caso
% nuevo
USO mh = plataforma(im,segm,elim,filt,param)

FUNCIÓN similitud.m
% Cálculo similitud entre casos (similitud entre dos imágenes)
% Similitud entre dos imágenes, método S2 (Di Gesù y Starovoitov, 1999)
USO sim = similitud(im1,im2)


- Funciones auxiliares para la indexación de los casos (usados por indexa.m)

%Cálculo nivel de estado de crecimiento del cultivo
festadoCrec.m         

%Detección de infestación
fplagado.m            

%Cálculo imagen soleada o no
fsoleado.m            

%Detección de errores de sembrado
ferrorSembrado.m     

%Segmentación capa vegetal (usado por fplagado)
segmenta.m 

%Eliminación líneas de cultivo, métodos E1 y E2 (usados por ferrorSembrado y festadoCrec respectivamente)
eliminaLineasE1.m     
eliminaLineasE2.m     
