0% ont trouvé ce document utile (0 vote)
35 vues3 pages

TP 3

Ce TP vise à afficher la luminosité et le contraste d'images, ainsi qu'à calculer et afficher manuellement les histogrammes d'images en niveaux de gris et en couleur. Les étapes incluent le chargement d'images, le calcul de la luminosité et du contraste, la séparation des canaux de couleur, et l'application de méthodes d'amélioration de l'image. Des fonctions OpenCV sont également fournies pour faciliter le calcul et la normalisation des histogrammes.

Transféré par

Icherak Bn
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
35 vues3 pages

TP 3

Ce TP vise à afficher la luminosité et le contraste d'images, ainsi qu'à calculer et afficher manuellement les histogrammes d'images en niveaux de gris et en couleur. Les étapes incluent le chargement d'images, le calcul de la luminosité et du contraste, la séparation des canaux de couleur, et l'application de méthodes d'amélioration de l'image. Des fonctions OpenCV sont également fournies pour faciliter le calcul et la normalisation des histogrammes.

Transféré par

Icherak Bn
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP N° : 03

Histogrammes

Objectifs du TP

 Afficher la luminosité et le contraste d’une image.


 Calculer et afficher manuellement les histogrammes d’une image en niveau de gris et
des canaux de couleur (rouge, vert, bleu) d'une image en couleur.
 Appliquer les différentes méthodes d’amélioration de la luminosité et de contraste

Étapes du TP

1/ Image en niveau de gris

Commencez par charger une image en niveau de gris. Vous pouvez utiliser l’image rose.tiff

1. Chargement de l'image :
o Charger l'image spécifiée (par exemple, rose_1024.tif) et la convertir en
niveaux de gris
2. Calcul de la luminosité :
o Calculer la luminosité de l'image en utilisant la formule vue en classe
3. Calcul du contraste :
o Évaluer le contraste de l'image en utilisant la formule vue en classe

4. Calcul de l'histogramme :
o Initialiser un tableau de zéros pour stocker les valeurs de l'histogramme (256
niveaux de gris).
o Parcourir chaque pixel de l'image et incrémenter le tableau correspondant à
l'intensité du pixel.
5. Affichage des résultats :

 Afficher la luminosité et le contraste calculés.


 Tracer et afficher l'histogramme des intensités de pixel de l'image.

2/ Image en couleur

Commencez par charger une image en couleur. Vous pouvez utiliser n'importe quelle image à
votre disposition.

1. Chargement de l'image :
o Vous pouvez utiliser n'importe quelle image à votre disposition.
2. Séparation des canaux :
o Séparez l'image en trois canaux (bleu, vert, rouge) à l'aide de cv2.split().
3. Calcul des histogrammes :
o Créez trois tableaux de zéros pour les histogrammes (un pour chaque canal).
o Parcourez chaque pixel des canaux et incrémentez le tableau correspondant à
l'intensité de pixel.
4. Affichage des histogrammes :
o Tracer les histogrammes de chaque canal dans la couleur correspondante.

3/ Appliquer des méthodes d’amélioration de la luminosité et de contraste


o Choisir une image fournie pour ce TP
o Calculer la luminosité son histogramme normalisé et cumulé.
o Appliquer des méthodes de contraste telles que la translation de l’histogramme
(par exemple + 50) ; l'extension de l'histogramme ; l'expansion dynamique et
l'égalisation d'histogramme.
o Comparer les histogrammes obtenus pour chaque méthode et les résultats
d'OpenCV avec les implémentations manuelles.

Remarque :

o Luminosité : Moyenne des valeurs des pixels.


o Contraste : Écart type des valeurs des pixels.
o Translation de l'histogramme :
o La fonction translation_histogramme augmente la valeur des pixels de l'image
d'un certain offset (ici, +50).
o Expansion de dynamique :
o La fonction expansion_dynamique normalise l'image pour qu'elle utilise toute
la plage de valeurs (0 à 255).
o Egalisation d'histogramme :
o La fonction egalisation_histogramme améliore le contraste de l'image en
redistribuant les intensités de pixels.

Fonctions utiles

Après avoir calculé les histogrammes manuellement, vous pouvez utiliser les fonctions
OpenCV :

1. cv2.calcHist([channel], [0], None, [256], [0, 256]) :

 channel : le canal de l'image d'entrée (Bleu, Vert ou Rouge)


 [0] : l'indice du canal à analyser (puisque chaque canal est traité comme une image
en niveaux de gris).
 None : aucune masque n'est utilisé, donc l'ensemble de l'image est pris en compte.
 [256] : le nombre de bins (256 valeurs correspondant aux intensités de pixels de 0 à
255).
 [0, 256] : la plage des valeurs d'intensité (de 0 à 255).

2. cv2.normalize(hist, hist, 0, 255, cv2.NORM_MINMAX)

 hist : L'histogramme à normaliser.


 La plage 0, 255 spécifie que les valeurs de l'histogramme doivent être normalisées
pour être entre 0 et 255.
cv2.NORM_MINMAX : Spécifie que la normalisation doit s'effectuer sur la plage minimale
et maximale de l'histogramme.

3. cv2.equalizeHist(img)pour l’histogramme égalisé

Vous aimerez peut-être aussi