MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR
ET DE LA RECHERCHE SCIENTIFIQUE
Département de Génie Électrique
Master 1 Systèmes de Télécommunications
Année Universitaire 2020/2021
TP N° 2 Traitement d’images : Traitements ponctuels
Objectif : Parmi les traitements les plus élémentaires en traitement d’images, on trouve les
transformations ponctuelles, qui changent les valeurs de chaque pixel en utilisant une
transformation souhaitée : NG2=T(NG1).
Histogramme d’images: L’histogramme d’une image en niveau de gris dénombre les
occurrences de chacun de ces niveaux de gris. La commande imhist permet de calculer
l’histogramme d’une image en niveau de gris.
Amélioration de la qualité de l’image : Plusieurs traitements basés sur la modification
d’histogramme peuvent être utilisés:
Expansion dynamique.
Égalisation d'histogramme.
Les opérations arithmétiques: impliquent des opérations d'addition, de soustraction, de
multiplication et de division des valeurs de pixel des images.
Transformation gamma : Une alternative à la fois aux transformations logarithmiques et
exponentielles, est la loi de puissance dans laquelle chaque valeur de pixel d'entrée est
élevée à une puissance fixe:
I out =c × ( I input ) γ
Travail demandé: On vous demande d’écrire un programme Matlab qui permet d’assurer les
fonctions suivante:
• Calcul et affichage de l’histogramme d’une image en niveau de gris.
• Calcul et affichage des opérations d’étirement et d’égalisation d’histogramme.
• Calcul et affichage des opération arithmétiques: imadd, imsubtract, immultiply et imdivide.
• Calcul et affichage de la correction gamma.
1
Dr Bouledjfane Badreddine ([Link]@[Link])
close all;clear; clc; subplot(212), imshow(d_eq), title('contrast
corrected');
%représentation des histogrammes
%correction gamma
a = imread('[Link]');
b_gamma1=imadjust(b, [ ], [ ], 0.5);
a = rgb2gray(a);
b_gamma2=imadjust(b, [ ], [ ], 2);
b = imadjust(a, [ ], [ ], 0.1);
c = imadjust(a, [ ], [ ], 2);
%Opération arithmétiques sur des images
d = imadjust(a, [0 1], [0.4 0.6]);
a = imread('[Link]');
figure,
a = double(rgb2gray(a));
subplot(241), imshow(a), title('normal');
b = imread('[Link]');
subplot(242), imshow(b), title('low darkness');
b = double(b);
subplot(243), imshow(c), title('low brightness');
a = imresize(a, [300, 400]);
subplot(244), imshow(d), title('low contrast');
b = imresize(b, [300, 400]);
subplot(245), imhist(a);
subplot(246), imhist(b);
c = imadd(a, b, 'uint16');
subplot(247), imhist(c);
d = imsubtract(a, b);
subplot(248), imhist(d);
e = immultiply(b,d);
f = imdivide(a, b);
%Correction par étirementd'histogramme
d_etirement= imadjust(d, [], [0 1]);
figure,
figure,
subplot(231),imshow(a);
subplot(211), imshow(d), title('low contrast');
subplot(232),imshow(b);
subplot(212), imshow(d_etirement), title('contrast
corrected'); subplot(233),imshow(c);
subplot(234),imshow(d);
%Correction par égalisation d'histogramme subplot(235),imshow(e);
d_eq= histeq(d); subplot(236),imshow(f);
figure,
subplot(211), imshow(d), title('low contrast');
2
Dr Bouledjfane Badreddine ([Link]@[Link])