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 > seuilseuil 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.