ExoCo-LMD
Génie électrique => M1 Systèmes et Réseaux des Télécommunications => TP - Traitement d'images => Discussion démarrée par: redKas le Janvier 16, 2023, 07:42:36 PM
3.1 DEFINITIONS
L'histogramme :
Dans une image 8 bits u, on peut calculer la présence d'un niveaux de gris v :
∀ v ∈ {0,...,255} h_u (v)=N_b pixels d^' intensité v
Le tracé de la fonction h_ donne l'histogramme de l'image.
Fig. 3.1 exemple d'un histogramme
Un histogramme simple est donc un tableau donnant, pour chaque valeur de niveau de gris, le nombre de pixels ayant ce niveau. La Figure 3.2 illustre une modification de l'histogramme.
(h_u (v))/N_b est la fréquence d'apparition du niveau v ou encore la probabilité d'obtenir le niveau v (c'est une densité de probabilité). N_b= n_c∙n_l représente le nombre total de pixels.
3.2 EGALISATION DE L'HISTOGRAMME
On peut résumer l'amélioration du contraste en quatre étapes essentielles
3.3 MANIPULATIONS
3.3.1 Egalisation d'Histogramme
Réaliser l'égalisation d'histogramme d'une image, puis afficher ces 2 images et leur histogramme en niveaux de gris sur une même figure.
Expliquer l'effet de l'égalisation d'histogramme sur l'image originale et son histogramme.
(Pour ce faire, utilisez les fonctions histeq pour l'égalisation et imhist pour afficher
l'histogramme).
3.3.2 Seuillage
• Binariser une image en utilisant 2 à 3 valeurs de seuil. En choisir au moins une de manière pertinente à partir de l'histogramme de l'image. Expliquer votre choix.
• Afficher les images originales et seuillées.
• Expliquer le principe et l'intérêt du seuillage.
Pour le seuillage, sous MATLAB, taper :
seuil = (I > valeur_seuil),
où : seuil est l'image binarisée, dont le pixel (i,j) est égal à 1 si le pixel (i,j) de l'image I est supérieur à valeur_seuil et 0 sinon.
3.3.3 Rehaussement du Contraste
Exécuter et commenter le code suivant
Pourquoi l'effet de rehaussement de contraste améliore la qualité visuelle d'une image particulière ?
3.3.4 Recadrage d'Une Image
A partir de l'image img précédente, programmer une fonction recadre qui reçoit en entrée une image, qui recadre les valeurs de cette image entre 0 et 1 et qui renvoie l'image résultante en sortie. L'utilisation d'une telle fonction se fera de la façon suivante:
Solution
load img
switch img
case 2
X = imread('saturn.png');
X=rgb2gray(X);
case 3
load woman
case 4
X = imread('liftingbody.png');
case 5
X = imread('cameraman.tif');
case 6
X = imread('boat.png');
case 7
X = imread('coins.png');
case 8
X = imread('lena.bmp');
case 9
X = imread('peppers.png');
X=rgb2gray(X);
case 10
X = imread('autumn.tif');
X=rgb2gray(X);
case 11
X = imread('greens.jpg');
X=rgb2gray(X);
case 12
fen = triang(ntraT);
EGALISATION DE L'HISTOGRAMME
I = imread('tire.tif');
J = histeq(I);
figure, imshow(I), figure, imshow(J)
>> figure, imshow(I), figure, imshow(J)
REHAUSSEMENT DU CONTRAST
imshow('pout.tif')
imcontrast(gca)
CONVERTIR EN NIVEAUX DE GRIS
X = imread('greens.jpg');
X=rgb2gray(X);
Recadrage