MECA653: Traitement d’image sur une carte de l’Europe

On vous demande de travailler une image topographique de l’Europe. Téléchargez l’image et sauvergardez la dans votre répertoire de travail. Notez qu’un pixel représente 1 km de coté.

from PIL import Image # On charge Python Image Library
import numpy as np    # On charge Numpy
from matplotlib import pyplot as plt # On charge pyplot (un sous module de Matplotlib) et on le renomme plt
from matplotlib import cm
from scipy import ndimage
%matplotlib nbagg
im = Image.open('europe.tif')           # PIL permet de lire tous les formats d'images
Nx, Ny = im.size                        # On reduit la definition de l'image
Z = np.array(im).astype(np.float64)     # On convertir l'image en array
max_altitude = 1000.                    # Altitude maximale en metres, cette donnee est un peu douteuse, (a confirmer).
Z = Z / Z.max() * max_altitude          # On recale les altitudes
Z = Z[::4, ::4] # Sous échantillonage
# AFFICHAGE
plt.figure()
plt.imshow(Z, cmap = cm.terrain, interpolation = "nearest")                    # Affichage de l'altitude
cbar = plt.colorbar()            # Ajout d'une barre d'echelle
cbar.set_label('Altitude $m$')   # On specifie le label en z
plt.xlabel('$km$')   # On specifie le label en x
plt.ylabel('$km$')   # On specifie le label en y
plt.title('Altitudes en Europe') # On specifie le titre
plt.grid()
plt.show()                       # On affiche l'image
<IPython.core.display.Javascript object>

Partie 1: Quelle est la surface de terre présente sur la carte ?

Partie 2: Dans cette surface de terre, quelle est la proportion d’iles ?

Partie 3: Parmi les iles, quelles sont les 5 plus grandes dans l’ordre ? Affichez les.

Partie 4: Quelle proportion de surface de terre perdrait l’Europe si le niveau de la mer montait de 10 m? Même question pour 50 m, 100m et 200m.

Quelle est l’ile la plus étendue d’est en ouest ?