{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "École GEOMDATA: Introduction à la science des données géométriques - 10-14 Sept. 2018" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# TP: Méthodes variationnelles pour l'imagerie" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Téléchargements\n", "Tous les téléchargements se font à l'adresse suivante : https://www.i2m.univ-amu.fr/~caroline.chaux/enseignements.html\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Gestion des images\n", "Dans ce TP nous allons (entre autres) travailler avec l'image de Lena\n", "\n", "\n", "### Chargement d'une image" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from scipy import ndimage as ndim\n", "#on charge l'image de lena à l'aide de la fonction imread de la bibliothèque ndimage de scipy\n", "y =ndim.imread(\"lena.png\")\n", "\n", "#on ne garde que la première composante car niveau de gris\n", "y=y[:,:,0];\n", "#l'image est de type int, on la cast en float pour pouvoir faire des calculs\n", "y=y.astype(float)\n", "#la taille de l'image peut s'obtenir à l'aide de l'attribut shape\n", "[n1,n2]=y.shape\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Affichage d'une image" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "#on affiche l'image à l'aide de la fonction imshow de la bibliothèque pyplot de matplotlib\n", "#on donne un numero à la figure\n", "plt.figure(1)\n", "#on l'affiche en niveau de gris\n", "plt.imshow(y, cmap=\"gray\")\n", "#on affiche la colorbar associée\n", "plt.colorbar()\n", "#on lui donne un titre\n", "plt.title('Image originale')\n", "#on affiche tout cela sur la figure 1\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Problème direct\n", "On s'intéresse premièrement au problème direct, c'est à dire, comment générer des observations $z$ à partir de données originales $y$. \n", "On rappelle que le problème d'observation s'écrit\n", "\\begin{equation}\n", "z=\\mathcal{D}_\\alpha(Ly)\n", "\\end{equation}\n", "où \n", "