Analyser un histogramme#
Dans cet exercice, plusieurs images et des transformations sur celles-ci seront observées et leur histogramme sera analysé. Pour ce faire, l’utilisation d’une fonction permettant de gérer l’affichage de l’image et de son histogramme va faciliter la réalisation. Commencez donc par créer la fonction suivante :
def affichage(f, cmap="gray", bins=16):
"""Affichage de l'image et de son histogramme"""
# Création de la figure avec deux graphes
fig, axs = plt.subplots(1,2, figsize=(15,5))
# Axe 1 : image et sa colorbar
img = axs[0].imshow(f, cmap=cmap)
fig.colorbar(img, ax=axs[0])
# Axe 2 : histogramme
axs[1].hist(f.ravel(), bins)
# Affichage de la figure
plt.show()
Que permet de faire l’argument
cmap
? Pourquoi le fixer àgray
par défaut ?Que permet de faire l’argument
bins
? Pourquoi le fixer à 256 par défaut ?À quoi sert la fonction
.ravel()
?
Histogramme d’une photographie#
Chargez l’image santamonica.jpg et convertissez-la en niveaux de gris.
Affichez l’image et son histogramme avec la fonction
affichage
. Jouez sur le nombre de barres et observez le résultat sur l’histogramme : combien de modes peuvent être identifiés ?Seuillez l’image avec l’instruction
f > seuil
oùseuil
est une valeur numérique que vous choisirez de sorte à séparer sur les constructions du reste du paysage.Vous pourrez ainsi distinguer les différentes zones de l’image.
Histogramme d’une image astronomique#
L’image hdfs.tiff est une portion de l’hémisphère sud obtenue observée par le VLT. On peut voir clairement une étoile mais des galaxies de très faible luminosité sont également présentes.
Quelle est la dynamique de l’image (c’est-à-dire les valeurs minimales et maximales des intensités) ?
Pour faire ressortir les faibles intensités, on peut effectuer une transformation d’histogramme en affichant le logarithme de l’image (
numpy.log
). Combien de galaxies deviennent alors visibles ?On peut également changer la palette de couleur pour disposer de plus de nuances que la palette en niveaux de gris : essayez avec
jet
. Combien de galaxies sont visibles ?Appliquez un seuil sur l’image pour identifier encore plus de galaxies.