% 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

% Eliminación de líneas de cultivo, método E3
% Analysis of natural images processing for the extraction of agricultural
% elements. Image Vision Comput. 28(1): 138-149 (2010)
function [res,colI2,colD1,aux2] = E3(A,umb1,umb2,porc)   
    A = limpia(A);
    A = agrega(A);
    colD1 = 1;
    colI2 = 2;
    
    D1 = 1;
    I2 = 1;
    
    [f,c] = size(A);
    res = A;
    
    aux2 = zeros(f,c,3);
    aux2(:,:,1) = A;
    aux2(:,:,2) = A;
    aux2(:,:,3) = A;
  
    angulo = edge(A,'sobel');
    
    v = sum(A(:,1:c));
    maximo = max(v);
    ptoIni = find(v==maximo);
    ptoIni = ptoIni(1,1);
    
    if(ptoIni>=c/2)
      [res,D1,aux2] = fC2Izq(res,aux2,angulo,maximo,ptoIni,umb1,umb2,porc);
      colD1 = ptoIni;  
      res(:,ceil(colD1):c)=0;
    else
      [res,I2,aux2] = fC2Der(res,aux2,angulo,maximo,ptoIni,umb1,umb2,porc);
      colI2 = ptoIni;  
      res(:,1:ceil(colI2))=0;
    end;
    
    v = sum(res(:,1:c));
    maximo = max(v);
    ptoIni = find(v==maximo);
    [fi,ci] = size(ptoIni);
    ptoIni = ptoIni(1,ci);
  
    if(ptoIni>=c/2)
      [res,D1,aux2] = fC2Izq(res,aux2,angulo,maximo,ptoIni,umb1,umb2,porc);
      colD1 = ptoIni;  
      res(:,ceil(colD1):c)=0;
    else
      [res,I2,aux2] = fC2Der(res,aux2,angulo,maximo,ptoIni,umb1,umb2,porc);
      colI2 = ptoIni;  
      res(:,1:ceil(colI2))=0;
    end;
    
    if(D1>I2)
        colD1 = D1;
        colI2 = I2;
    end;
 