%function J = etirement (I)  
function etirement (I) 
    [m, n, can] = size(I); %m=nb lignes, n=nb colonnes, can=nb canaux

    if(can > 1)
        I = rgb2gray(I);  %dans le cas d'une image couleur, la transformer en NG
    end

    pmin = double(min(min(I)));  %intensité min de l'image
    pmax = double(max(max(I)));  %intensité max de l'image
    % extension de l'histogramme : 
    a = (255) / (pmax-pmin);            %beta
    b = (-255 * pmin)/(pmax - pmin);    %alpha
        
    %for i=1:m
    %    for j=1:n     
    %         J(i, j) = uint8(double(I(i, j))*a + b);
    %    end
    %end
    %J=I;
    %J(:) = uint8(double(I(:))*a + b);
    J = uint8(double(I)*a + b);
        
    figure
    imshow(I);  
    %divise la fenêtre en 3 ligne et 2 colonnes : pour afficher 2 images l'une
    %à côté de l'autre
    subplot(3, 2, 1)  %sélectionne le premier cadran 
    colormap(gray)
    image(I);        %affichage de l'image originale   
    title(strcat('min = ', num2str(pmin), ' max = ', num2str(pmax)));

    subplot(3, 2, 2) %sélectionne le deuxième cadran
    colormap(gray)
    image(J); 
    title(strcat('min = ', num2str(min(min(J))), ' max = ', num2str(max(max(J)))));

    subplot(3, 2, 3) %sélectionne le 3ème cadran
    plot(imhist(I));

    subplot(3, 2, 4) %sélectionne le 4ème cadran
    plot(imhist(J));

    subplot(3, 2, 5) %sélectionne le 5ème cadran
    x = pmin:1:pmax;
    y = a*x+b;
    plot(x,y);
    title(strcat('LUT - a = ', num2str(a), ' b = ', num2str(b)));
    xlabel('NG entree');
    ylabel('NG sortie');
                  