{ "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°5" ] }, { "cell_type": "markdown", "id": "c91f3f10", "metadata": {}, "source": [ "## 5.1 Objectifs" ] }, { "cell_type": "markdown", "id": "c6a3a70a", "metadata": {}, "source": [ "* Introduire quelques traitements d'images numériques couleurs." ] }, { "cell_type": "markdown", "id": "f57e8c63", "metadata": {}, "source": [ "## 5.2 Enoncé" ] }, { "cell_type": "markdown", "id": "751221fd", "metadata": {}, "source": [ "Dans ce projet, nous allons discuter les fondements de traitement d'image couleurs en utilisant le langage Python, nous allons aussi explorer certaines fonctions de transformations." ] }, { "cell_type": "markdown", "id": "dd0f7ae7", "metadata": {}, "source": [ "### 1) Génération d'un cube RGB" ] }, { "cell_type": "markdown", "id": "5ff21564", "metadata": {}, "source": [ "Implémenter la fonction qui permet l'affichage d'un cube de couleur RGB 'rgb\\_cube' dont les paramètres d'entrées sont $VX, VY, VZ$, vu depuis le point $(VX, VY, VZ)$." ] }, { "cell_type": "code", "execution_count": null, "id": "c5f70461", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "bcbdd991", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "2c46d3ac", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "0f9b8669", "metadata": {}, "source": [ "### 2) Conversion entre espaces de couleurs" ] }, { "cell_type": "markdown", "id": "e56b3749", "metadata": {}, "source": [ "* Implémenter les fonctions 'rgb2ycbcr' et 'ycbcr2rgb' qui permettent la conversion entre les espaces de couleurs RGB et YCbCr.\n", "* Même question pour les fonctions 'rgb2hsv' et 'hsv2rgb' concernant les espaces de couleurs RGB et HSV." ] }, { "cell_type": "code", "execution_count": null, "id": "e6f921c6", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "489e04d8", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "8a6dd9fd", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "id": "acffe0b3", "metadata": {}, "source": [ "### 3) Segmentation d'image dans l'espace RGB" ] }, { "attachments": {}, "cell_type": "markdown", "id": "15319988", "metadata": {}, "source": [ "Implémenter la fonction 'seg\\_couleur' définie par la syntaxe suivante permettant de segmenter une image couleur RGB:\n", "\n", " $S$ = color\\_seg(method, $f$, $T$, paramètres)\n", "\n", "où 'method' est soit 'euclidean' ou 'mahalanobis', $f$ est l'image couleur RGB à segmenter, et $T$ représente le seuil de segmentation. Les paramètres d'entrée représentent la moyenne $m$ ou la matrice de covariance $C$ selon la distance choisi 'euclidean' ou 'mahalanobis', respectivement. La sortie $S$, est une image binaire ayant la même taille que l'image originale $f$ contenant le résultat de la segmentation, par exemple les 1s et les 0s représentent l'objet et l'arrière-plan, respectivement." ] }, { "cell_type": "code", "execution_count": null, "id": "f1ce29ec", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "1519c4bc", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "d3822ede", "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.7.13" } }, "nbformat": 4, "nbformat_minor": 5 }