TP-probabilites/TP1/exercice_1.m
2023-06-10 21:01:20 +02:00

50 lines
1.5 KiB
Matlab

clear;
close all;
taille_ecran = get(0,'ScreenSize');
L = taille_ecran(3);
H = taille_ecran(4);
% Lecture d'une image interne a Matlab et conversion en doubles :
I_max = 255;
I_min = 0;
I = rgb2gray(imread('autumn.tif'));
I = double(I);
% Affichage de l'image :
figure('Name','Exemple d''image interne a Matlab','Position',[0,0,0.33*L,0.3*L]);
imagesc(I);
axis off;
axis equal;
colormap gray;
% Affichage de l'histogramme de l'image :
histogramme = hist(I(:),[I_min:I_max]);
figure('Name','Histogramme des niveaux de gris','Position',[0.33*L,0,0.33*L,0.3*L]);
plot([I_min:I_max],histogramme);
axis([I_min I_max 0 1.1*max(histogramme)]);
xlabel('Niveau de gris','FontSize',15);
ylabel('Frequence','FontSize',15);
set(gca,'FontSize',20);
% Calcul de vecteurs contenant les niveaux de gris de gauche (de droite) d'une paire de pixels :
[X,Y] = vectorisation(I);
% Affichage des paires de niveaux de gris sous la forme d'un nuage de points :
figure('Name','Mise en evidence de la correlation entre pixels voisins','Position',[0.66*L,0,0.33*L,0.3*L]);
plot(X,Y,'b+');
axis([I_min I_max I_min I_max]);
xlabel('Niveau de gris du pixel de gauche','FontSize',15);
ylabel('Niveau de gris du pixel de droite','FontSize',15);
hold on;
set(gca,'FontSize',20);
axis equal;
% Calcul des parametres de la droite de regression :
[r,a,b] = calcul_parametres(X,Y);
fprintf('Coefficient de correlation lineaire : %.4f\n',r);
% Affichage de la droite de regression (d'equation y = a*x+b) :
x = I_min:I_max;
y = a*x+b;
plot(x,y,'r','LineWidth',3);