Vous êtes sur la page 1sur 9

TRAITEMENT D’IMAGE

Tp-1

REALISE PAR : HAMZA EL MAMOUN


TP N°1
Exercice 1: Lecture et visualisation des images sous Matlab

Matlab est capable de lire et de décoder les fichiers images JPEG, TIFF, BMP, PNG, HDF, PCX ou
XWD. Une image sous Matlab est représentée sous forme d'une matrice. Avant de traiter une image
dans Matlab, il faut la lire et décoder son format afin de la transformer en une matrice de valeurs.

1. Lire l’image lena_gray.tif et la stocker dans la variable img. (imread).

close all;
clear all;
clc;
img = imread('lena_gray.tif');

2. Afficher l’image sur une figure. (imagesc(img); colormap(‘gray’)).

imshow(img);

figure;
imagesc(img);
colormap('gray');
L'accès à un élément particulier d'une image est indexé par le nom et la position de cet élément. Par
exemple, pour l’image img ci-dessus, on peut récupérer les valeurs ou les modifier aisément. Le
point (i,j) est appelé pixel (picture cell), sa valeur I(i,j) réelle traduit le degré de luminosité de l’image
au point (i,j) : On l’appelle niveau de gris de l’image au point (i,j) (i : numéro des lignes et j : numéro
des colonnes).

1. Récupérer le niveau de gris du pixel (50,100).

p = img(50,100)

p = uint8
60

imshow(p);
2. Récupérer le quart haut droit de l’image lena_gray.tif et le stocker dans la variable imgQuart.

[m, n] = size(img)

m = 512
n = 512

imquart = img((1:m/2),(n/2 + 1:n));


imagesc(imquart);

Exercice 2: La palette

Créez une matrice I de taille N×N avec N=256 dont le terme général est I(i,j) = j. Le point (i,j) est
appelé pixel (picture cell), sa valeur I(i,j) réelle traduit le degré de luminosité de l’image au point (i,j) :
On l’appelle niveau de gris de l’image au point (i,j).

1. Visualisez I à l’aide des commandes image et imagesc.

N = 256;
I = zeros(N,N);
for i = 1:N
for j = 1:N
I(i,j) = j;
end
end

2. Lisez l’aide de la fonction colormap.

3. Affichez I avec une palette de niveaux de gris (colormap(‘gray’)).

figure;
image(I);
colormap('gray');

4. Récupérez cette palette et visualisez-la.

palette = colormap('gray');
imshow(palette);

5. Construisez une palette de 256 niveaux de gris.

a = rand(256,1);
palette_g = [a, a, a];
imshow(palette_g);
6. Afficher de nouveau I.

figure;
imagesc(I);
colormap(palette_g);

7. Construisez votre propre palette en utilisant les 3 couleurs RGB.

palette_c = rand(256,3);
figure;
imagesc(I);
colormap(palette_c);
8. Conclure sur le fonctionnement et le rôle de la palette.

L'utilisation d'une palette de couleurs permet de standardiser les couleurs utilisées dans un projet
graphique, de garantir la cohérence visuelle et parfois de réduire la taille des fichiers image. Par
exemple, dans une image indexée, chaque pixel est associé à un indice dans la palette plutôt qu'à
une valeur RVB spécifique.

Exercice 3: Calcul sur une image

Pour calculer sur les images, il faut les convertir en entier ou en double. Trouvez un moyen pour
convertir une image en double.

img = imread("lena_color.tif");

1. Afficher la composante rouge, verte et bleue de l’image lena_color.tif.

R = img;
B = R;
G = R;
subplot(1,3,1);
R(:, :, [2 3]) = 0;
imshow(R);
subplot(1,3,2);
G(:, :, [1 3]) = 0;
imshow(G);
subplot(1,3,3);
B(:, :, [1 2]) = 0;
imshow(B);
2. Convertissez l’image couleur lena_color.tif en niveaux de gris.

img = rgb2gray(img);
figure;
imagesc(img);
colormap('gray');

Exercice 4: L’histogramme

Affichez l’histogramme de l’image en niveaux de gris. Remarque :

- les opérations sur les images (format uint8 ou uint16) nécessite de les convertir en double.
figure, imhist(img);

Vous aimerez peut-être aussi