{ "cells": [ { "cell_type": "markdown", "id": "3960a901", "metadata": {}, "source": [ "# Centre Universitaire de Mila" ] }, { "cell_type": "markdown", "id": "c4568d4a", "metadata": {}, "source": [ "# Master 1 (STIC & I2A), Matière: Traitement d'images" ] }, { "cell_type": "markdown", "id": "a8bedc4a", "metadata": {}, "source": [ "# Travaux pratiques N°2" ] }, { "cell_type": "markdown", "id": "c91f3f10", "metadata": {}, "source": [ "## 2.1 Objectifs" ] }, { "cell_type": "markdown", "id": "c6a3a70a", "metadata": {}, "source": [ "* Coder quelques opérations de base pour l'amélioration de la qualité de l'image." ] }, { "cell_type": "markdown", "id": "f57e8c63", "metadata": {}, "source": [ "## 2.2 Enoncé" ] }, { "cell_type": "markdown", "id": "751221fd", "metadata": {}, "source": [ "Dans ce projet, après la lecture d'image \"pgm\", vous devez implémenter les quatre opérations suivantes (les images de test vous seront fournies). Chaque opération doit être implantée par une fonction à part qui prendra comme entrée le nom de l'image à traiter sous forme d'une chaine de caractère, et en sortie le(s) résultat(s) attendu(s) de l'opération:" ] }, { "cell_type": "markdown", "id": "dd0f7ae7", "metadata": {}, "source": [ "### 1) Négatif d'une image : (L représente le nombre de niveaux de gris)" ] }, { "cell_type": "markdown", "id": "5ff21564", "metadata": {}, "source": [ "$$ g(x,y) = L - 1 - f(x,y) $$" ] }, { "cell_type": "code", "execution_count": null, "id": "506de1d5", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "0f9b8669", "metadata": {}, "source": [ "### 2) Paramètres statistiques d’une image couleur" ] }, { "cell_type": "markdown", "id": "e56b3749", "metadata": {}, "source": [ "Calculer la moyenne, l'écart-type et la médiane de chaque bande d’une image couleur ($M \\times N$ représente la taille de l'image)." ] }, { "cell_type": "markdown", "id": "aef2d7eb", "metadata": {}, "source": [ "$$ \\mu_k = \\frac{1}{MN}\\sum_{x=1}^{M}\\sum_{y=1}^{N}f(x,y,k) $$" ] }, { "cell_type": "markdown", "id": "e56ed268", "metadata": {}, "source": [ "$$ \\sigma_k = \\sqrt{\\frac{1}{MN}\\sum_{x=1}^{M}\\sum_{y=1}^{N} \\left(f(x,y,k)-\\mu_k \\right)^2} $$" ] }, { "cell_type": "markdown", "id": "4fca84f3", "metadata": {}, "source": [ "$$ m_k = médiane\\left( f(x,y,k) \\right) $$" ] }, { "cell_type": "code", "execution_count": null, "id": "e6f921c6", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "acffe0b3", "metadata": {}, "source": [ "### 3) Changement de dynamique linéaire d’une image à niveaux de gris" ] }, { "cell_type": "markdown", "id": "15319988", "metadata": {}, "source": [ "Implanter l’opération suivante à une image (min et max sont le minimum et le maximum des niveaux de gris dans l’image d’entrée) :" ] }, { "cell_type": "markdown", "id": "de2c7dac", "metadata": {}, "source": [ "$$ g(x,y) = \\frac{255}{max-min} \\left( f(x,y,k) - min \\right) $$" ] }, { "cell_type": "code", "execution_count": null, "id": "f1ce29ec", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "c0f80318", "metadata": {}, "source": [ "### 4) Égalisation d’histogramme d’une image à niveaux de gris" ] }, { "cell_type": "markdown", "id": "7e650433", "metadata": {}, "source": [ "Implanter l’égalisation d’histogramme pour une image à niveaux de gris." ] }, { "cell_type": "code", "execution_count": null, "id": "07e0d79d", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.6" } }, "nbformat": 4, "nbformat_minor": 5 }