# CM 01 : Traitement d'image
###### tags: `2023` `traitement image`
4 cours magistraux
7 tp de 2h
TD noté le 15/11/2022
Projet à réaliser en binôme pendant le TD7 le 06/12/2022 date de rendu le 18/12/2022.
[TOC]
# I. Image numérique
Définition : image acquise, créée, traitée, stockée sous forme de binaire.
Provenance : dispositif ou programme informatiques.
Image 2D : un tableau à deux dimensions composé de pixels.
Pixel : élement unitaire d'un image, associé à une position et une couleur (ou intensité).
Définition d'image : nombre de pixels.
# II. Notion de couleur
x
# III. Traitement d'image
i(x, y) = 255 * (i(x, y) - min) / (max - min)
## 1. Opérations globales sur l'image
### Exercice 3 : Segmentation d'image par seuillage sur histogramme

Seuil inférieur : < 6
Seuil supérieur : > 12
### Exercice 4 : Seuillage
Question 1 : seuil autour de 50 et autour de 100 (prendre les deux premiers minimums globaux)
Seuillage : mettre tous les pixels en dessous de certains pics d'une seule couleur, permet d'avoir une image qu'avec 2 ou 3 couleurs, et qui soit très constrastée.
Question 2 : xxx
## 2. Opérations locales sur l'image
Constat :
* motifs dans l'images,
* différencier certaines régions,
* suppression du bruit.
Bruit : pixels d'intensités aberrantes (mauvaises luminosités, poussières, perturbations)
Bruit "poivre et sel" : aléatoirement plusieurs pixels aux valeurs 255 ou 0.
=> Peu apparaître lors de la numérisation d'une image

Bruit "gaussien" : chaque pixel prend une valeur aléatoire en suivant une loi gaussienne.*

Traitement local : traiter l'image par régions.
Voisinage d'un pixel : ensemble des pixels connexes au pixel.

Outils : opératuer de morphologie mathématique, filtres
### Filtres
#### Introduction
Permet :
* Améliorer la qualité d'un image
* Supprimer le bruit
Définition : région contenant des coefficients. Modifie l'intensité d'un pixel en fonction de son voisinage.
Le principe est de podérer l'intensité du pixel par les pixels voisins
Importance de la taille du filtre (3x3, 5x5, 7x7) : si la taille du filtre est plus grande, on prend en compte plus de voisins, la taille choisie peut donc changer les comportements des filtres
Calcul de la nouvelle intensité :
On positionne le filtre sur l'image, centré sur un pixel. Pour chaque pixel, on multiplie son intensité par le coef du filtre. On fait ensuite la somme de l'ensemble

Zone verte : taille du filtre
Zone rouge : pixel concerné
Calcul : $40*0 + 42*1 + 46*0 + \cdots + 58 * 0 = 42$

#### a. Filtre moyenneur et passe bas :
Filtre moyenneur :
L'intensité d'un pixel est remplacé par la moyenne de celles de ses voisins.
-> rend l'image plus flou, peut permettre de lisser les bruits qui perturbent la perception de l'image
Filtre passe-bas : permet d'éliminer les hautes fréquences liées au bruit
Avantages : Elimine les intensités avec une fréquence importante
Inconvénients : élimine les détails de l'image et rends l'image plus floue
##### Exercice 1 :
Attention: les intensités sont toujours des entiers.
=> Somme des valeurs + arrondi à l'entier inférieur
#### b. Filtre gaussien
Convolution avec une gaussienne
Permet de lisser l'image

Avantages :
* supprime le bruit dans les parties homogènes
* dégrade moins les détails
Inconvénients :
* conserve une partie du bruit
* moins efficace que le lissage moyenneur
#### c. Filtre médian
Remplace l'intensité d'un pixel par l'intensité médiane de ses voisins
Intéret : même si plusieurs pixels voisins sont bruités, on peut corriger le pixel courant

On perd les petits détails, elle n'est pas flou mais plutôt lissée
Avantages :
* Bons résultats bruit poivre et sel
* Elimine moins les détails de l'image que le filtre moyenneur
Inconvénients :
* lissage : même des pixels corrects peuvent être modifiés
* couteux : coût de l'algorithme du calcul médian
Exercice 2 :
| 1 | 1 | 1 |
| --- | --- | --- |
| 1 | 8 | 1 |
| 1 | 1 | 2 |
=> Médiane de [1;1;1;1;8;1;1;1;2] = 1

=> La médiane est l'élement d'indice 4

=> La médiane est la moyenne entre le rang 4 et le rang 5.

### Détection de contours
#### a. Gradient d'image
Pour détecter si un pixel est sur la frontière d'un contour, nous pouvons regarder la valeur relative des pixels autour de ce pixel.

Un pixel ferait partie d'un contour si la somme des variations (positives ou négatives) horizontales et verticales est élevée.
#### b. Détection d'arrêtes par gradient
Pour détecter les arrêtes dans un image.
#### c. Filtre de type Prewitt

#### d. Approximation des gradients
Le filtre subit une convolution avec l'image pour calculer des approximations des dérivées horizontales et verticales.
Filtre de Sobel :

### Opérateurs de morphologie mathématique
Permet de :
* Supprimer du bruit sur des images binaires
* Extraire des contours sur des images binaires
Chaque intensité du pixel de l'image résultante est calculée en prenant en compte le voisinage du pixel.
Principe : traiter l'image par région
* Région binaires, souvent carrées
* Positionnement de la région pour que son centre soit sur le pixel où on veut l'appliquer
* Renvoi une nouvelle intensité pour le pixel : blanc ou noir
* Parcours de l'ensemble de l'image
Exemple :

* Erosion : Suppression de points du contour des objets en tenant compte de l'élément structurant
* Dilatation : Ajout de points du contour des objets en tenant compte de l'élément structurant
* Ouverture : Erosion + Dilatation

---
* Fermeture : Dilatation + Erosion

---
#### Erosion
Un pixel est un pixel objet si la région centrée sur ce pixel ne contient que des pixels objet : rétrécit l'objet

#### Dilatation
* Dilater X revient à éroder son complémentaire

##### Remarques :
* Les opérateurs de dilatation sont duales.
* Elles suppriment du bruit à l'intérieur et à l'extérieur de l'objet
* Mais, elles changent la taille des objets.
* Les opérations suivantes remédient à ce problème.