Vous êtes sur la page 1sur 12

compte rendu image et son

TP1: Acquisition et manipulation d’une


image numérique

jihen ben Fredj


tic3
G2A
Ouverture et lecture d’une image monochromatique ( niveau
de gris)
image = imread('lena.bmp');
imshow(image);
rang = rank(image);
fprintf('Le rang de la matrice est %d.\n', rang);
taille = size(image);
fprintf('La taille de la matrice est %d x %d.\n', taille(2), info =
whos('image');
bitdepth = info.bytes * 8;
fprintf('Le type de quantification est %s, utilisant %d bits

compte rendu image et son 1


l’image affichée

Affichage de l’histogramme
histogramme = imhist(image); figure;
bar(histogramme); title('Histogramme de
l''image'); xlabel('Niveau de gris');
ylabel('Fréquence');

compte rendu image et son 2


Résultat:

compte rendu image et son 3


Ouverture et lecture d’une image couleur (RGB)
% Lire l'image couleur
image_rgb = imread('birdrgb.jpg');

% Afficher l'image couleur


imshow(image_rgb);

% Rang de la matrice
rang_rgb = rank(image_rgb);
fprintf('Le rang de la matrice est %d', rang_rgb);
% Taille de la matrice (largeur x hauteur x canaux de couleur taille_rgb =
size(image_rgb);
fprintf('La taille de la matrice est %d x %d x %d.\', taille_

% Type de quantification et nombre de bits utilisés


info_rgb = whos('image_rgb';);
bitdepth_rgb = info_rgb.bytes * 8;
fprintf('Le type de quantification est %s, utilisant %d bits info_rgb.class,
bitdepth_rgb);

L’image affichée :

compte rendu image et son 4


Affichage de l’histogramme
% Afficher l'histogramme
figure;
bar(histogramme_gris);
title('Histogramme de l''image en niveaux de gris'); xlabel('Niveau
de gris');
ylabel('Fréquence');

Résultat

compte rendu image et son 5


Décomposition de l’image en trois plans de couleur R,G,B

% Décomposer l'image en trois plans de couleur R, G, B plan_R =


image_rgb(:, :, 1);
plan_G = image_rgb(:, :, 2);
plan_B = image_rgb(:, :, 3);

% Afficher les trois plans de couleur figure;


subplot(1, 3, 1);
imshow(plan_R);
title('Plan de couleur Rouge'); subplot(1, 3, 2);
imshow(plan_G);
title('Plan de couleur Vert'); subplot(1, 3, 3);
imshow(plan_B);
title('Plan de couleur Bleu');

% Convertir et afficher l'image en niveaux de gris figure;


imshow(image_gris);
title('Image en niveaux de gris');

compte rendu image et son 6


L’image affichée

compte rendu image et son 7


Quantification d’une image
% Lire l'image en niveaux de gris
image_gris_lena = imread('lena.bmp';);

% Changer le pas de quantification en utilisant N = 2, 4, 8


N_values = [2, 4, 8];

for i = 1:numel(N_values)
N = N_values(i);
image_quantifiee = uint8(round(double(image_gris_lena) / (256

% Afficher l'image résultante figure;


subplot(1, 2, 1);
imshow(image_gris_lena);
title('Image originale';);

subplot(1, 2, 2);
imshow(image_quantifiee);
title(['Image quantifiée (N = ' num2str(N) ')']); end

compte rendu image et son 8


Résultat

Échantillonnage d’une image


Le sous-échantillonnage par un facteur de 0,5 réduit la taille de l’image de moitié, tandis que le
sous-échantillonnage par un facteur de 0,25 réduit la taille de l’image à un quart de sa taille
d’origine. Cela entraîne une perte de détails et de résolution, ce qui peut être observé dans les
images résultantes.

% Lire l'image
image = imread('lena.bmp');

% Facteur de sous-échantillonnage
facteur_1 = 0.5;
facteur_2 = 0.25;

% Ré-échantillonnage par facteur 0.5


image_sous_echantillonnee_1 = imresize(image, facteur_1);

% Ré-échantillonnage par facteur 0.25

image_sous_echantillonnee_2 = imresize(image, facteur_2);

compte rendu image et son 9


% Afficher les images ré-échantillonnées figure;
subplot(1, 3, 1);
imshow(image);
title('Image originale');

subplot(1, 3, 2);
imshow(image_sous_echantillonnee_1);
title('Sous-échantillonnage par 2');

subplot(1, 3, 3);
imshow(image_sous_echantillonnee_2);
title('Sous-échantillonnage par 4');

Résultat

compte rendu image et son 10


Compression d’une image
La DCT, largement utilisée dans la compression d'images, comme dans le format JPEG, sert à
convertir les données. Les coefficients DCT reflètent la contribution des diverses fréquences
spatiales présentes dans l'image. Il est possible de noter que cette transformation comprime les
données en concentrant l'énergie dans les basses fréquences, localisées dans les coins supérieurs
gauche de l'image, tout en
réduisant l'importance des hautes fréquences, situées dans les coins inférieurs
droits. Cette approche permet de compresser l'image en préservant les informations essentielles
et en réduisant la quantité totale de données.

% Lire l'image en niveaux de gris


image_lena = imread('lena.bmp';);
image_lena = rgb2gray(image_lena);

% Appliquer la transformation DCT

image_dct = dct2(image_lena);

% Afficher les coefficients de la matrice DCT figure;


subplot(1, 2, 1);
imshow(log(abs(image_dct)), []); title('Coefficients DCT
(échelle logarithmique)'); colormap(gca, 'jet');
colorbar;

subplot(1, 2, 2);
imshow(image_lena);
title('Image originale');

compte rendu image et son 11


Résultat

compte rendu image et son 12

Vous aimerez peut-être aussi